電話を受けるか電話をかけた後 (およびその他の文書化されていない中断)、アクティビティを再開するときに、アプリケーションで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} を破棄できません: android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3655) での java.lang.NullPointerException 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 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 at MyApplication.displayActivity.onDestroy(displayActivity. java:74) android.app.ActivityThread.performDestroyActivity (ActivityThread.java:3642) で
さて、この問題を解決するのを手伝ってください。電話やSMSの受信、またはそのような種類の中断をどのように処理すればよいですか?