Android Thread和Handler NullPointerException

时间:2014-03-05 12:35:34

标签: android multithreading

我是Android的初学者。我的Handler有一个NullPointerException。

  • 我在Thread中调用一个服务,并使用Handler更新ACTIVITY A中的UI。
  • 我正在使用通知显示另一个ACTIVITY B.

    假设我在ACTIVITY A中运行线程时单击通知,ACTIVITY B正在调用,并且在一段时间后应用程序崩溃,我认为处理程序失去了ACTIVITY A的上下文。我想知道如何处理情况,假设如果我使用AsyncTask,asyncTask会处理上下文问题吗?任何人都可以解决这个问题。提前致谢。

ACTIVITY - A:

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

点击通知时,我显示活动B.

logcat o / p就是这样 handler.sendMessage行中的NullPointerException 在处理程序内我正在更新活动B的UI。

2 个答案:

答案 0 :(得分:1)

我将Thread转换为AsyncTask,如果在活动A处于onPause时正在运行asyncTask,我将取消AsyncTask,这是该问题的临时修复。但我正在寻找一个完美的。

答案 1 :(得分:0)

初始化处理程序并确保消息不为空