2014-03-05 59 views
0

我是Android的初學者。我的Handler有一個NullPointerException。Android線程和處理程序NullPointerException

  • 我打電話內螺紋服務,並使用處理器更新
  • 我使用的通知顯示另一個活動B.

    假設我點擊通知時,在活動A.用戶界面該線程在ACTIVITY A中運行,ACTIVITY B正在調用,經過一段延遲後應用程序崩潰,我認爲處理程序失去了ACTIVITY A的上下文。我想知道如何處理這種情況,假設如果我使用AsyncTask將asyncTask照顧上下文問題?任何人都可以解決我這個請。提前致謝。

ACTIVITY - 答:

Thread t = new Thread() { 
    @Override 
    public void run() { 
     // call service get response 
     handler.sendMessage(msg); 
    } 
} 

時通知被點擊我顯示活動B.

logcat的O/P是在handler.sendMessage 的線只是 的NullPointerException並在處理程序內部更新活動B的UI。

+0

你可以發佈處理程序的定義。 –

+0

還你還沒有開始你的線程。 –

+0

什麼是logcat? – donfuxx

回答

0

initial ize處理程序,並確保該消息不爲空

+0

消息不爲空,但處理程序是,因爲處理程序與ACTIVITY A相關聯,而且我正在顯示ACTIVITY B. –

+0

將異步任務執行修復嗎? @Lucian Novac –

+0

它可以是一個解決方案,但你必須注意的方法,在doInBackground使你的網絡動作,並在onPostExecute做你的用戶界面操作 –

1

我將線程轉換爲AsyncTask,並且如果運行時的asyncTask在Activity A處於onPause時,我將取消AsyncTask,這是該問題的臨時修復。但我正在尋找完美的一個。

相關問題