Demande écrasé après réception soit un appel téléphonique ou de telles interruptions
-
27-09-2019 - |
Question
Après avoir reçu soit un appel téléphonique ou faire un (et d'autres interruptions non documentées) ma demande obtient un NullPointerException lors de la reprise de mon activité. Quelqu'un peut-il me expliquer où il est et / ou comment le résoudre?
J'ai écrit le code comme indiqué ci-dessous:
@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;
}
}
Sortie Logcat est:
java.lang.RuntimeException: Impossible de détruire l'activité {monApplication / 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 (Méthode natif) à 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 (Méthode natif) Causée par: java.lang.NullPointerException à MyApplication.displayActivity.onDestroy (displayActivity.java:74) à android.app.ActivityThread.performDestroyActivity (ActivityThread.java:3642)
maintenant, merci de me aider à résoudre ce problème, comment faire appel téléphonique ou SMS poignée i reçu ou ce type d'interruptions?
La solution
Étape # 1:. Trouver la ligne 74 du fichier displayActivity.java
Étape # 2:. Corrigeons ce problème est en ligne 74
Maintenant, la trace de la pile indique que la ligne 74 est en onDestroy()
. Si l'on suppose que le code d'activité que vous avez énumérés ci-dessus est de displayActivity
, puis la ligne 74 doit être:
listview1.setAdapter(null);
Cela signifie listview1
est null
. Vous ne déclaration et n'attribuer une valeur à ce membre de données dans le code que vous avez énumérés ci-dessus.
Autres conseils
essayez de définir une BP à la première ligne de onDestroy
et validate vars / membres pour trouver un est null