gpt4 book ai didi

android - 空指针异常 - onPrepareDialog

转载 作者:行者123 更新时间:2023-11-29 16:02:45 25 4
gpt4 key购买 nike

我正在制作一个应用程序,我在其中使用对话框来接受、存储和显示数据,它对我来说很有效,但是每当我重新启动我的应用程序时,都会出现NPE

  @Override
public void onPrepareDialog(int id, Dialog dialog) {
switch (id) {
case DIALOG_LOGIN:
final AlertDialog alertDialog = (AlertDialog) dialog;
.........
.........
// check for parent email
if(GetEventsActivity.parental.equals("no")) // throwing error
{
// hide
parental_email.setVisibility(View.GONE);
}
else
{
// show
parental_email.setVisibility(View.VISIBLE);
}
........
}
}

我在列表项中显示按钮,每当用户点击该按钮时,我都会显示对话框。

        btnData.setOnClickListener(new View.OnClickListener() {
@SuppressWarnings("deprecation")
public void onClick(View v) {
showDialog(DIALOG_LOGIN);
}
});

日志说:

W/dalvikvm(26689): threadid=1: thread exiting with uncaught exception (group=0x41a4d2a0)
E/AndroidRuntime(26689): FATAL EXCEPTION: main
E/AndroidRuntime(26689): java.lang.NullPointerException
E/AndroidRuntime(26689): at app.mac.Camera.UploadActivity.onPrepareDialog(UploadActivity.java:469)
E/AndroidRuntime(26689): at android.app.Activity.onPrepareDialog(Activity.java:3071)
E/AndroidRuntime(26689): at android.app.Activity.showDialog(Activity.java:3134)
E/AndroidRuntime(26689): at android.app.Activity.showDialog(Activity.java:3085)
E/AndroidRuntime(26689): at app.mac.Camera.UploadActivity$ImageAdapter$2.onClick(UploadActivity.java:286)
E/AndroidRuntime(26689): at android.view.View.performClick(View.java:4223)
E/AndroidRuntime(26689): at android.view.View$PerformClick.run(View.java:17275)
E/AndroidRuntime(26689): at android.os.Handler.handleCallback(Handler.java:615)
E/AndroidRuntime(26689): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(26689): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(26689): at android.app.ActivityThread.main(ActivityThread.java:4921)
E/AndroidRuntime(26689): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(26689): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(26689): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1036)
E/AndroidRuntime(26689): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:803)
E/AndroidRuntime(26689): at dalvik.system.NativeStart.main(Native Method)
I/Process(26689): Sending signal. PID: 26689 SIG: 9

最佳答案

这意味着

GetEventsActivity.parental

null。另一方面,我建议始终将常量字符串与可以更改的字符串进行比较

if ("no".equals(GetEventsActivity.parental))

这样你至少可以避免 NPE,因为第一个测试将是

if (! (GetEventsActivity.parental instanceof String))
return false;

null instanceof String总是false

关于android - 空指针异常 - onPrepareDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22474988/

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