2011-02-03 5 views
1


다음 코드를 사용하여 AlertDialog를 만듭니다.android에서 AlertDialog 오류

 AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext()); 
builder.setMessage("Are you sure you want to exit?") 
     .setCancelable(false) 
     .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int id) { 
      } 
     }) 
     .setNegativeButton("No", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int id) { 
       dialog.cancel(); 
      } 
     }); 
AlertDialog alert = builder.create(); 
    alert.show(); 

그러나 alert.show()
내가 가진 오류에 오류가이 클래스 활동을하다

02-03 11:36:43.204: WARN/dalvikvm(452): threadid=3: thread exiting with uncaught exception (group=0x4001b188) 
     02-03 11:36:43.214: ERROR/AndroidRuntime(452): Uncaught handler: thread main exiting due to uncaught exception 
     02-03 11:36:43.234: ERROR/AndroidRuntime(452): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application 
     02-03 11:36:43.234: ERROR/AndroidRuntime(452):  at android.view.ViewRoot.setView(ViewRoot.java:472) 
     02-03 11:36:43.234: ERROR/AndroidRuntime(452):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177) 

보여줍니다

public class HomeTabActivity extends Activity 

이 HomeTabActivity 날 각을 사용하기 때문에 groupActivity 하나입니다 활동으로 탭하십시오. 난 내가 그리워 했는가이

View view = getLocalActivityManager().startActivity("hometab", new 
       Intent(this,HomeTabActivity.class) 
       .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView(); 
     replaceView(view); 

같은이 활동을했다. 미리 감사드립니다.

답변

4

시도 대신 dialog.show의)이 onCreateDialog를 (사용하여 더 많은 세부 사항을 추가하려면

AlertDialog.Builder builder = new AlertDialog.Builder(getParent()); 
1

Activity 방법 onCreateDialog(int id)을 사용해 보시고 showDialog(id)으로 연락하셨습니까? Here은 android의 대화 상자에 대한 좋은 자료입니다.

+0

를 사용하는 것 활동을 재현 할 때도 (화면을 회전시킬 때와 같이) 화면에 표시됩니다. 그러나 그것은 당신의 실수와 아무런 관련이 없습니다. (Zelimir의 대답을보십시오) –

+0

당신 말이 맞습니다. 나는 그에게 현재의 문제를 해결하는 것을 돕기를 원했다. 화면 회전과 관련된 AlertDialog 매직을 관리하는 것은 onSaveInstanceState()에 저장되고 onCreate()에 복구 된 하나의 부 울린을 나타내는 미터입니다. – Zelimir

6

첫 줄이 잘못되었습니다. 활동에서 호출 할 때이 대화 상자를 계속 마법을 수행하기 때문에()는 더

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
+0

이 맞는 답변입니다! –