Приложение разбилось после получения телефонного звонка или таких прерываний

StackOverflow https://stackoverflow.com/questions/4057648

Вопрос

После того, как я либо получаю телефонный звонок или сделать один, (и другие недокументированные прерывания) Мое приложение получает Исключение нулевого указателя при возобновлении моей деятельности. Может ли любое объяснить мне, где это и / или как это исправить?

Я написал код, как показано ниже:

 @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}: java.lang.nullpointerexception на android.app.actixtivityTriex.performdestroyActivity (ActivityThread.java:3655) на Android.app.activity (ActivityThread.java : 3673) в Android.App.activityTrieDead.handlerelaunchactivity (ActivityThread.java:3789) на Android.app.activityTrieD.Access $ 2400 (ActivityThread.java:125) в Android.App.activityTrieThreads $ h.java: 2037 ) на Android.Os.handler.dispatchMessage (Handler.java:99) в Android.Os.looper.loop (looper.java:123) на android.app.activitytrytread.main (Activitythread.java:4627) .reflect.method.invebalativative (родной метод) на java.lang.reflect.method.invoke (method.java:521) на com.android.internal.os.zygoteinit $ methodandargscaller.run (zygoteinit.java:868) в ком .android.innernal.os.zygoteinit.main (zygoteinit.java:626) в dalvik.system.nativeStart.main (родной метод), вызванный: java.lang.nullpoin terexception при myApplication.displayActivity.ondestroy (DisplayActivity.java:74) на Android.app.activityTrieD.performDestryActivity (ActivityThread.java:3642)

Теперь, пожалуйста, помогите мне решить эту проблему, как обращаться с телефонным звонком или полученным SMS или таким видом прерываний?

Это было полезно?

Решение

Шаг № 1: Найти строку 74 displayActivity.java файл.

Шаг № 2: Исправьте любую проблему на линии 74.

Теперь трассировка стека говорит о том, что линия 74 в onDestroy(). Отказ Предполагая, что код деятельности, который вы указали выше, от displayActivity, Тогда линия 74 должна быть:

listview1.setAdapter(null);

Это означает listview1 является null. Отказ Вы не объявляете и не назначаете значение этого элемента данных в коде, который вы перечислены выше.

Другие советы

попробуйте установить BP на первой строке onDestroy и проверяйте vars / участники, чтобы найти, какой из них null

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top