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?

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top