- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个应用程序,我在其中使用对话框来接受、存储和显示数据,它对我来说很有效,但是每当我重新启动我的应用程序时,都会出现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/
我正在制作一个应用程序,我在其中使用对话框来接受、存储和显示数据,它对我来说很有效,但是每当我重新启动我的应用程序时,都会出现NPE @Override public void onPre
这似乎不起作用。警告对话框甚至不显示标题或消息,除非我在 onCreateDialog 方法中设置它们。 @Override protected void onPrepareDialog(int id
我有一个显示复选框列表的对话框。每次打开时应检查哪些框的信息来自编辑文本。我搜索了一种不允许缓存对话框的方法,但找不到该怎么做。现在我覆盖 onPrepareDialog 以在对话框打开之前设置复选框
我创建了一个警告对话框,当我按下一个按钮时,其中有一个基本的复选框列表。如果之前已经检查过这些项目,我希望能够为用户检查复选框。我通过像这样操作“onPrepareDialog”来完成这个: @Ove
我目前正在使用以下代码在我的 Andorid 应用程序中显示/隐藏 ProgressDialog(从 MyActivity 中调用): private void startTask() { n
我正在使用以下代码创建一个 ProgressDialog (在我的 Activity 内): @Override protected Dialog onCreateDialog(int id) {
能否请任何人告诉我如何在 onPrepareDialog() 中更改警告对话框的消息(正文)。 即使在 onPrepareDialog() 函数中对 Dialog 参数进行类型转换后,我也找不到任何类
我在使用 onPrepareDialog 方法更新 AlertDialog 的内容时遇到了一些困难。 我正在设置 AlertDialog 的内容,但是出现在屏幕上的对话框没有按钮也没有背景。问题可能与
在 onPrepareDialog 中调用 removeDialog(int) 是否被认为是错误的形式,如下所示,每次使用 showDialog() 调用时强制重新创建对话框: @Override p
我是一名优秀的程序员,十分优秀!