2014-03-07 142 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()状态通过。我猜你正在得到关于无效状态的异常。