Android 调用对话框片段时出现NullPointerException

Android 调用对话框片段时出现NullPointerException,android,dialog,fragment,Android,Dialog,Fragment,我想在[link][1]之后使用片段创建对话框 下面是我的对话框片段代码 public class AlertFragmentDialog extends DialogFragment { public static final int DIALOG_EXIT_ALERT = 1; private static final String KEY_TITLE = "titles"; private static final String KEY_DIALOG =

我想在[link][1]之后使用片段创建对话框

下面是我的对话框片段代码

public class AlertFragmentDialog extends DialogFragment 
{   
    public static final int DIALOG_EXIT_ALERT = 1;

    private static final String KEY_TITLE = "titles";
    private static final String KEY_DIALOG = "dialogtype";

    public static DialogFragment newInstance(int _title,int _dialogType){
        AlertFragmentDialog frag = new AlertFragmentDialog();
        Bundle args = new Bundle();
        args.putInt(KEY_TITLE, _title);
        args.putInt(KEY_DIALOG, _dialogType);
        frag.setArguments(args);        
        return null;
    }

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {   
        switch(getArguments().getInt(KEY_DIALOG))
        {
            case DIALOG_EXIT_ALERT : 
                return new AlertDialog.Builder(getActivity()).setTitle(getArguments().getInt(KEY_TITLE))
                        .setPositiveButton(R.string.global_yes,new DialogInterface.OnClickListener()
                        {
                            public void onClick(DialogInterface dialog, int whichButton) 
                            {
                                ((MainActivity)getActivity()).doYesConfirmationClick();
                            }
                        })
                        .setNegativeButton(R.string.global_no, new DialogInterface.OnClickListener() 
                        {
                            public void onClick(DialogInterface dialog, int whichButton) 
                            {
                                ((MainActivity)getActivity()).doNoConfirmationClick();
                            }
                        }).create();
        }
        return null;
    }
}
然后用这个代码调用它

FragmentManager fm = getSupportFragmentManager();
        DialogFragment alertDialog = AlertFragmentDialog.newInstance(R.string.global_exit_alert,AlertFragmentDialog.DIALOG_EXIT_ALERT);
        alertDialog.show(fm, "dialog");
但当我运行时,我的模拟器上出现了错误NullPointerException。 alertDialog.show(fm,“dialog”)出错;
请帮助我,我不确定我的代码出了什么问题。

您的
newInstance()
返回
null
。将其更改为return
frag

您的日志中有什么?NullpointerExceptions显示发生错误的行。检查这行
public static DialogFragment newInstance(int _title,int _dialogType){
    AlertFragmentDialog frag = new AlertFragmentDialog();
    Bundle args = new Bundle();
    args.putInt(KEY_TITLE, _title);
    args.putInt(KEY_DIALOG, _dialogType);
    frag.setArguments(args);        
    return frag;  // you were returning null
}