Frage

Nachdem ich entweder einen Anruf erhalten oder machen, (und andere nicht dokumentierte Unterbrechungen) meine Anwendung wird ein Nullpointer , wenn meine Tätigkeit wieder aufnehmen. Kann jeder mir erklären, wo es ist und / oder wie man es beheben?

Ich habe den Code geschrieben, wie unten dargestellt:

 @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 Ausgabe lautet:

java.lang.RuntimeException: Kann Aktivität zerstören {myApplication / MyApplication.displayActivity}: java.lang.NullPointerException bei android.app.ActivityThread.performDestroyActivity (ActivityThread.java:3655) bei android.app.ActivityThread.handleDestroyActivity (ActivityThread.java:3673) bei android.app.ActivityThread.handleRelaunchActivity (ActivityThread.java:3789) bei android.app.ActivityThread.access $ 2400 (ActivityThread.java:125) bei android.app.ActivityThread $ H.handleMessage (ActivityThread.java:2037) bei android.os.Handler.dispatchMessage (Handler.java:99) bei android.os.Looper.loop (Looper.java:123) bei android.app.ActivityThread.main (ActivityThread.java:4627) bei java.lang.reflect.Method.invokeNative (native Methode) bei java.lang.reflect.Method.invoke (Method.java:521) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:868) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:626) bei dalvik.system.NativeStart.main (native Methode) Verursacht durch: java.lang.NullPointerException bei MyApplication.displayActivity.onDestroy (displayActivity.java:74) bei android.app.ActivityThread.performDestroyActivity (ActivityThread.java:3642)

jetzt, pls mir helfen, dieses Problem zu beheben, wie kann ich handele Telefonanruf oder SMS empfangen oder solche Art von Unterbrechungen?

War es hilfreich?

Lösung

Schritt 1:. Finden Zeile 74 der displayActivity.java Datei

Schritt # 2:. Fix was Problem ist auf der Leitung 74

Nun schlägt der Stack-Trace, dass die Leitung 74 in onDestroy() ist. Unter der Annahme, dass die Aktivität Code, den Sie oben aufgeführt haben von displayActivity ist, 74 dann Zeile muss sein:

listview1.setAdapter(null);

Das bedeutet listview1 ist null. Sie weder declare noch einen Wert dieses Datenelement zuweisen in dem Code, den Sie oben aufgeführt haben.

Andere Tipps

versuchen, eine BP in der ersten Zeile von onDestroy Einstellung und Validieren Vars / Mitglieder zu finden, das man ist null

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top