2014-03-07 138 views
0

我試圖顯示一個對話框,該對話框從用戶(用OK按鈕)獲取輸入,但是我用一個yes或not開頭,它不工作。這段代碼崩潰了,我不知道爲什麼。任何幫助,將不勝感激 ;)。如果你能指導我進入提示對話框,那就更酷了; p。顯示對話框片段

公共類TabFragment擴展片段{

 @Override 
     public void onCreate(Bundle savedInstanceState) {  
      super.onCreate(savedInstanceState); 

      new TestDialog().show(getFragmentManager(), "MyDialog"); 


     } 
} 
//============================================= 
    public class TestDialog extends DialogFragment { 
     Context mContext; 
      public TestDialog() { 
       mContext = getActivity(); 
       // Empty constructor required for DialogFragment 
      } 

      @Override 
      public Dialog onCreateDialog(Bundle savedInstanceState) { 
       AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(mContext); 
       alertDialogBuilder.setTitle("Really?"); 
       alertDialogBuilder.setMessage("Are you sure?"); 
       //null should be your on click listener 
       alertDialogBuilder.setPositiveButton("OK", null); 
       alertDialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 

        @Override 
        public void onClick(DialogInterface dialog, int which) { 
         dialog.dismiss(); 
        } 
       }); 


       return alertDialogBuilder.create(); 
      } 
+1

發佈stacktrace – Raghunandan

+0

以下是官方Android文檔中的DialogFragment實現示例:http://developer.android.com/guide/topics/ui/controls/pickers.html – shkschneider

+0

AlertDialog.Builder alertDialogBu​​ilder = new AlertDialog.Builder( mContext); 用getActivity()替換mContext。我沒有實例化對象,所以mContext爲null。 – user2241251

回答

0

不要創建Dialog直到你Fragment通過其onResume()狀態通過。我猜你正在得到關於無效狀態的異常。