我想使用此 [链接][1] 之后的 fragment 创建对话框
这是我的对话 fragment 代码
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
。将其更改为返回 frag
。
关于android - NullPointerException 调用 Dialog Fragment 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16813510/