应用程序崩溃后或者接到一个电话或中断等
-
27-09-2019 - |
题
在我要么接到一个电话,或使一个,(和其他无证中断),我的应用程序得到了的NullPointerException 恢复我的活动时。它在哪里和/或如何解决它可以在任何给我解释一下吗?
我所编写的代码如下所示:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.displayActivity);
new performBackgroundTask().execute();
}
@Override
public void onDestroy()
{
listview1.setAdapter(null);
super.onDestroy();
}
private class performBackgroundTask extends AsyncTask <Void, Void, Void>
{
private ProgressDialog Dialog = new ProgressDialog(displayActivity.this);
protected void onPreExecute()
{
Dialog.setMessage(getString(R.string.dialog_wait_message));
Dialog.show();
}
protected void onPostExecute(Void unused)
{
Dialog.dismiss();
// displaying all the fetched data
}
@Override
protected Void doInBackground(Void... params)
{
// fetching data from web using HTTPGet method
return null;
}
}
logcat的输出是:
了java.lang.RuntimeException:无法破坏活性的{所有MyApplication / MyApplication.displayActivity}:显示java.lang.NullPointerException 在android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3655) 在android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3673) 在android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3789) 在android.app.ActivityThread.access $ 2400(ActivityThread.java:125) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2037) 在android.os.Handler.dispatchMessage(Handler.java:99) 在android.os.Looper.loop(Looper.java:123) 在android.app.ActivityThread.main(ActivityThread.java:4627) 在java.lang.reflect.Method.invokeNative(本机方法) 在java.lang.reflect.Method.invoke(Method.java:521) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 在dalvik.system.NativeStart.main(本机方法) 显示java.lang.NullPointerException:致 在MyApplication.displayActivity.onDestroy(displayActivity.java:74) 在android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3642)
现在,请帮助我解决这个问题,如何处理电话或接收短信或这类中断? 的
解决方案
步骤#1:找到displayActivity.java
文件的线74
步骤#2:修复任何问题是在线74上
现在,堆栈跟踪表明,线74处于onDestroy()
。假定已经上面列出的活动的代码是从displayActivity
,则线74必须是:
listview1.setAdapter(null);
这意味着listview1
是null
。你既不声明,也不是一个值分配给已上面列出的码本数据成员。
其他提示
尝试在onDestroy
的第一行设置BP和验证瓦尔/成员找到哪一个是null