1

我有一个问题Handler。这就是我的应用程序的作用:

  1. 新线程已创建。
  2. Thread 下载数据,然后将它们放入消息中。
  3. 线程向处理程序发送消息。

问题就从这里开始了。根据日志应用程序NullPointerException在这一行中抛出:

replyTo.sendMessage(msg);

有时一切正常,有时则不然。Handler 是在创建新线程之前放置的。这是处理程序的代码:

Handler responseHandler = new Handler() {
    public void handleMessage(Message msg) {
        ad.dismiss();
        populateListWithVideos(msg);
        };
};

你有什么想法为什么会发生这种情况?

编辑:这是我的 Logcat。如何阅读:

  • “Powstała nowa biblioteka” - 新的 ArrayList 已创建
  • "Array" - JSONArray 已收到
  • "Obiekt"/"Tytuł" + number - 来自 JSONArray 的对象/字符串已被接收(number - 对象编号)
  • “Dodano do biblioteki” - 从 Object 接收的字符串已作为 Video 添加到数组中
  • “Nowa biblioteka” - 从 ArrayList 创建的新库
  • "Serializable" - 库序列化成包
  • “Otrzymano wiadomość” - 使用 Message.obtain() 获得的消息
  • “Ustalono wiadomość” - 使用 Message.setData() 将包放入 Message
  • “Wysłano wiadomość” - 发送给 Handler 的消息

    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Powstała nowa biblioteka
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Array
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Obiekt0
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Tytuł0
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Dodano do biblioteki
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Obiekt1
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Tytuł1
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Dodano do biblioteki
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Obiekt2
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Tytuł2
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Dodano do biblioteki
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Obiekt3
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Tytuł3
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Dodano do biblioteki
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Obiekt4
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Tytuł4
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Dodano do biblioteki
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Obiekt5
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Tytuł5
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Dodano do biblioteki
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Obiekt6
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Tytuł6
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Dodano do biblioteki
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Obiekt7
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Tytuł7
    02-07 13:17:13.885: D/Ignaś TV(24913): Thread-6447| Dodano do biblioteki
    ...
    02-07 13:17:13.905: D/Ignaś TV(24913): Thread-6447| Obiekt48
    02-07 13:17:13.905: D/Ignaś TV(24913): Thread-6447| Tytuł48
    02-07 13:17:13.905: D/Ignaś TV(24913): Thread-6447| Dodano do biblioteki
    02-07 13:17:13.905: D/Ignaś TV(24913): Thread-6447| Obiekt49
    02-07 13:17:13.905: D/Ignaś TV(24913): Thread-6447| Tytuł49
    02-07 13:17:13.905: D/Ignaś TV(24913): Thread-6447| Dodano do biblioteki
    02-07 13:17:13.905: D/Ignaś TV(24913): Thread-6447| Nowa biblioteka
    02-07 13:17:13.905: D/Ignaś TV(24913): Thread-6447| Serializable
    02-07 13:17:13.905: D/Ignaś TV(24913): Thread-6447| Otrzymano wiadomość
    02-07 13:17:13.905: D/Ignaś TV(24913): Thread-6447| Ustalono wiadomość
    02-07 13:17:13.905: E/Ignaś TV(24913): Thread-6447| Koniec listy //Error
    02-07 13:17:13.905: E/Ignaś TV(24913): java.lang.NullPointerException
    02-07 13:17:13.905: E/Ignaś TV(24913):  at         com.ignas.ignastv.service.task.GetData.run(GetData.java:142)
    02-07 13:17:13.905: E/Ignaś TV(24913):  at java.lang.Thread.run(Thread.java:856)
    
4

0 回答 0