1

に問題がありHandlerます。これは私のアプリが行うことです:

  1. 新しいスレッドが作成されます。
  2. スレッドはデータをダウンロードし、メッセージに入れます。
  3. スレッドはメッセージをハンドラに送信します。

そして、ここから問題が始まります。ログアプリによるとNullPointerException、次の行がスローされます。

replyTo.sendMessage(msg);

すべてがうまくいくこともあれば、うまくいかないこともあります。ハンドラーは、新しいスレッドを作成する前に配置されます。これはハンドラのコードです:

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 - オブジェクト番号)
  • "ドダノ ド ビブリオテキ" - オブジェクトから受け取った文字列がビデオとして配列に追加されました
  • 「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