我有一个问题Handler
。这就是我的应用程序的作用:
- 新线程已创建。
- Thread 下载数据,然后将它们放入消息中。
- 线程向处理程序发送消息。
问题就从这里开始了。根据日志应用程序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)