gpt4 book ai didi

java - 匿名内部类中的 NullPointerException

转载 作者:太空宇宙 更新时间:2023-11-03 13:53:58 26 4
gpt4 key购买 nike

我有一个简单的 Android Fragment CreateAccountBookingFragment,它继承自 CreateAccountFragment,具有以下方法:

@Override
public void onViewCreated(final View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);

passwordTextView.setOnEditorActionListener(new TextView.OnEditorActionListener() {
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if ((event != null && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER))
|| (actionId == EditorInfo.IME_ACTION_DONE)) {
onSignUpClick();
}
return false;
}
});
}

onSignUpClick() 方法在 CreateAccountBookingFragment 中被覆盖。最近发现了一个错误:

java.lang.NullPointerException
at com.myapp.ui.auth.CreateAccountBookingFragment.onSignUpClick(CreateAccountBookingFragment.java:82)
at com.myapp.ui.auth.CreateAccountFragment$1.onEditorAction(CreateAccountFragment.java:83)
at android.widget.TextView.onEditorAction(TextView.java:4594)
at com.android.internal.widget.EditableInputConnection.performEditorAction(EditableInputConnection.java:138)
at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:297)
at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:77)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:175)
at android.app.ActivityThread.main(ActivityThread.java:5279)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
at dalvik.system.NativeStart.main(NativeStart.java)

我很不明白它怎么会抛出NullPointer。这意味着内部类还活着而外部类不是?我虽然不可能。谁能帮我理解这里发生了什么?解决这个问题的方法是什么。任何帮助表示赞赏。谢谢。

设备发生错误:Samsung GT P3113

更新:方法 onSingUpClick() 在这里:

@SuppressWarnings("unused")
@OnClick(R.id.frag_auth_sign_up_btn) // line 82, this is ButterKnife annotation
protected void onSignUpClick() {

String email = emailText.getText().toString().trim();
String password = passwordText.getText().toString().trim();

int errorMsg = 0;
if (TextUtils.isEmpty(email)) {
errorMsg = R.string.enter_email;
} else if (!Utils.isValidEmail(email)) {
errorMsg = R.string.invaild_email;
} else if (TextUtils.isEmpty(password)) {
errorMsg = R.string.enter_password;
} else if (!Utils.isValidPassword(password)) {
errorMsg = R.string.invaild_password;
} else if (!NetworkUtils.isNetworkConnected(getActivity())) {
errorMsg = R.string.network_not_connected;
}

if (errorMsg > 0) {
ViewUtils.getInfoDialog(getActivity(), errorMsg).show();
} else {
showLoadingDialog();
signUp(email, password);
}
ViewUtils.hideKeyboard(getActivity());
}

最佳答案

您可以发布 CreateAccountBookingFragment 类中的 signUp() 函数的代码吗?您是否以某种方式在该方法中使用了 getActivity()

有时 getActivity() 有可能返回 null。很可能是那个错误。所以在这种情况下,在 getActivity() 上添加空检查,即:

if (getActivity()!=null){
// only then do your singIn() method stuff
}

关于java - 匿名内部类中的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31967469/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com