0

java.lang.IllegalStateException: アダプターの内容が変更されましたが、ListView は通知を受け取りませんでした。アダプターのコンテンツがバックグラウンド スレッドからではなく、UI スレッドからのみ変更されていることを確認してください。

注:この質問はすでに尋ねられており、有効な回答が得られません

私のリストビューには巨大なデータが含まれています

リスト内のデータが変更されたときに、ハンドラーを使用して次のコードを呼び出しています

 listviewAdapter.notifyDataSetChanged();

しかし、ロードするたびにではなく、同じエラーが何度か発生します よろしくお願いします

4

2 に答える 2

0

2 つのスレッド (UI スレッド、ハンドラー スレッド) があるため、このエラーが発生します。バックグラウンドで動作するため、そのハンドラーを削除します。UI スレッドのみでコードを記述します (メイン スレッド)。

于 2012-04-20T12:26:34.237 に答える
0

以下のスニペットを使用して、スレッドで UI を更新します

runOnUiThread(new Runnable() {
                        public void run() {

                            //update UI

                       }
                    });
于 2012-04-20T12:19:41.433 に答える