Applicazione si è schiantato dopo o ricevere una telefonata o di tali interruzioni
-
27-09-2019 - |
Domanda
Dopo che sia ricevo una telefonata o fare uno, (e altre interruzioni senza documenti) la mia domanda ottiene un NullPointerException quando si riprende la mia attività. Può qualsiasi spiegarmi dove si trova e / o come risolvere il problema?
Ho scritto il codice come illustrato di seguito:
@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;
}
}
uscita Logcat è:
java.lang.RuntimeException: impossibile distruggere l'attività {myApplication / MyApplication.displayActivity}: java.lang.NullPointerException a android.app.ActivityThread.performDestroyActivity (ActivityThread.java:3655) a android.app.ActivityThread.handleDestroyActivity (ActivityThread.java:3673) a android.app.ActivityThread.handleRelaunchActivity (ActivityThread.java:3789) a android.app.ActivityThread.access $ 2400 (ActivityThread.java:125) a android.app.ActivityThread $ H.handleMessage (ActivityThread.java:2037) a android.os.Handler.dispatchMessage (Handler.java:99) a android.os.Looper.loop (Looper.java:123) a android.app.ActivityThread.main (ActivityThread.java:4627) a java.lang.reflect.Method.invokeNative (metodo natale) a java.lang.reflect.Method.invoke (Method.java:521) a com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:868) a com.android.internal.os.ZygoteInit.main (ZygoteInit.java:626) a dalvik.system.NativeStart.main (metodo natale) Causato da: java.lang.NullPointerException a MyApplication.displayActivity.onDestroy (displayActivity.java:74) a android.app.ActivityThread.performDestroyActivity (ActivityThread.java:3642)
ora, pls mi aiutano a risolvere questo problema, come faccio telefonata maniglia o SMS ricevuto o questo tipo di interruzioni?
Soluzione
Passo # 1:. Trova la linea 74 del file displayActivity.java
Passo # 2:. Fix qualsiasi problema è sulla linea 74
Ora, l'analisi dello stack suggerisce che la linea 74 è in onDestroy()
. Supponendo che il codice attività che hai elencato sopra è da displayActivity
, quindi la linea 74 deve essere:
listview1.setAdapter(null);
Questo significa listview1
è null
. È né dichiarare né assegnare un valore a questo utente i dati nel codice che hai elencato sopra.
Altri suggerimenti
provare a impostare una BP alla prima linea di onDestroy
e validate vars / membri per trovare quale uno è null