2012-02-18 3 views
3

AlertDialog을 다른 AlertDialog에 열려고하는데 작동하지 않습니다. 왜 작동하지 않는지 아이디어가 있습니까?AlertDialog.Builder가 다른 AlertDialog.Builder를 엽니 다.

String items[] = {"Details","Edit","Delete"} 
AlertDialog.Builder alert = new AlertDialog.Builder(getAplicationContext()); 
alert.setTitle("Options"); 
alert.setItems(items, new OnClickListener() { 

    public void onClick(DialogInterface dialog, int item) { 
     switch(item){ 
      case 0: 
       AlertDialog.Builder alert2 = new AlertDialog.Builder(getAplicationContext()); 
       alert2.setTitle("Details"); 
       alert2.setMessage(getDetails()); 
       alert2.setNeutralButton("Close", null); 
       alert2.show(); 
      return; 

      case 1: 
       //not important for the question 
      return; 

      case 2: 
       //not important for the question 
      return; 
     } 
    } 
}); 

alert.setNegativeButton("Cancel", null); 
alert.show(); 
+2

"작동하지 않음"을 정의하십시오. 다른 AlertDialog에서 'AlertDialog'을 열려고 할 때 어떤 오류 메시지가 나타 납니까? – Rob

답변

6

문제는 아마도 AlertDialog의 문맥 일 것입니다. 두 가지 모두에서 MyActivityName.this을 사용하고 MyActivityName을 Activity의 이름으로 바꾸십시오.

그래서 첫 번째 AlertDialog를 구축하면이

AlertDialog.Builder alert = new AlertDialog.Builder(MyActivityName.this);

과 같아야하고 두 번째에 대한 다음

AlertDialog.Builder alert2 = new AlertDialog.Builder(MyActivityName.this);

.

+0

정말 감사합니다. 현재 일하고 있습니다 –

+0

@FelipeSuman이 포럼에서는 답변을 수락 (옆에있는 체크 표시를 클릭)하는 것이 일반적입니다. 감사와 행운을 빕니다! – koopaking3

+0

비슷한 문제로 나를 도왔다. 또 다른 upvote가 필요하다. –