我正在將主活動的數據傳遞給OnCreateDialog中的DialogFragment的EditListNameDialogFragment超級構造函數,並拋出這些異常。創建DialogFragment時出現NullPointerException
過程:com.example.zar.shoppinglistplusfirebase,PID:32464 顯示java.lang.NullPointerException 在com.example.zar.shoppinglistplusfirebase.ui.activeListDetails.EditListDialogFragment.createDialogHepler(EditListDialogFragment.java:67) com.example.zar.shoppinglistplusfirebase.ui.activeListDetails.EditListNameDialogFragment.onCreateDialog(EditListNameDialogFragment.java:47) at android.support.v4.app.DialogFragment.getLayoutInflater(DialogFragment.java:312) at android.support.v4 .app.FragmentManagerImpl.moveToState(FragmentManager.java:1298 ) at android.support.v4.app.FragmentManagerImpl.moveFragmentsToInvisible(FragmentManager.java:2323) at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2136) at android.support.v4.app .FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2092) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1998) at android.support.v4.app.FragmentManagerImpl $ 1.run(FragmentManager.java: 709) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) 在android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5590) at java.lang.reflect.Method.invokeNative(Native Method) at java。 lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1268) at com.android.internal.os.ZygoteInit.main( ZygoteInit.java:1084) 在dalvik.system.NativeStart.main(本機方法)
onCreateDialogFragment˚F ROM EditListNameDialogFragment
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dialog = super.createDialogHelper(R.string.positive_button_edit_item);
helpSetDefaultValueEditText(mListName);
return dialog;
}
super.createDialogHelper(串R)從EditListDialogFragment
protected Dialog createDialogHepler(int stringResourceforPositiveButton){
AlertDialog.Builder builder=new AlertDialog.Builder(getActivity(),R.style.CustomTheme_Dialog);
LayoutInflater inflater=getActivity().getLayoutInflater();
View rootView=inflater.inflate(mResource,null);
mEditTextForList=(EditText) rootView.findViewById(R.id.edit_text_list_dialog);
mEditTextForList.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
if (i== EditorInfo.IME_ACTION_DONE || keyEvent.getAction()==KeyEvent.ACTION_DOWN){
doListEdit();
EditListDialogFragment.this.getDialog().cancel();
}
return true;
}
});
builder.setView(rootView).setPositiveButton(stringResourceforPositiveButton, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
doListEdit();
EditListDialogFragment.this.getDialog().cancel();
}
})
.setNegativeButton(R.string.negative_button_cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
EditListDialogFragment.this.getDialog().cancel();
}
});
return builder.create();
}
我對其他對話框也使用這個createDialogHelper,對於其他對話框它完美的工作,但只有EditListNameDialogFragment它不工作。 –