電話またはそのような中断を受け取った後、申請がクラッシュしました

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

質問

私が電話を受けたか、電話をかけた後(およびその他の文書化されていない中断)、私のアプリケーションが取得されます nullpointerexception 私の活動を再開するとき。それがどこにあるか、そして/またはそれを修正する方法を私に説明することはできますか?

以下に示すようにコードを書きました:

 @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 at android.app.activitythread.performdestroyactivity(activitythread.java:3655) :3673)at android.app.activitythread.handlerelaunchactivity(Activitythread.java:3789)at android.app.activitythread.access $ 2400(Activitythread.java:125)at android.app.activitythread $ h.handlemessage(Activitythread.java:2037 )Android.os.handler.dispatchmessage(handler.java:99)でandroid.os.looper.loop(looper.java:123)at android.app.activitythread.main(Activitythread.java:4627)at java.lang.lang .Reflect.Method.Invokenative(ネイティブメソッド)java.lang.refllect.method.invoke(method.java:521)at com.android.internal.os.zygoteinit $ methodandargscaller.run(zygoteinit.java:868) .android.internal.os.zygoteinit.main(zygoteinit.java:626)at dalvik.system.nativestart.main(ネイティブ方法) myapplication.displayactivity.ondestroy(displayactivity.java:74)のandroid.app.activitythread.performdestroyactivity(acivitythread.java:3642)のterexception

さて、PLSはこの問題を修正するのに役立ちます。電話またはSMSの受信またはそのような中断をどのように処理できますか?

役に立ちましたか?

解決

ステップ#1:の行74を見つけます displayActivity.java ファイル。

ステップ#2:74行目に問題があるものは何でも修正します。

さて、スタックトレースは、74行目がにあることを示唆しています onDestroy(). 。上記のアクティビティコードは displayActivity, 、次に74行目でなければなりません。

listview1.setAdapter(null);

それは意味します listview1null. 。上記のコードでこのデータメンバーに値を宣言したり割り当てたりすることはありません。

他のヒント

最初の行でBPを設定してみてください onDestroy そして、VARS/メンバーを検証して、どちらがいるのかを見つける null

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top