タブを使用しており、タブを選択した後、カスタムリストビューにコンテンツを表示し、リストをスクロールして、リストの任意の項目を選択すると、以下のエラーが発生します
java.lang.IllegalStateException: アダプターの内容が変更されましたが、ListView は通知を受け取りませんでした。アダプターのコンテンツがバックグラウンド スレッドからではなく、UI スレッドからのみ変更されていることを確認してください。
問題を解決するには?
タブを使用しており、タブを選択した後、カスタムリストビューにコンテンツを表示し、リストをスクロールして、リストの任意の項目を選択すると、以下のエラーが発生します
java.lang.IllegalStateException: アダプターの内容が変更されましたが、ListView は通知を受け取りませんでした。アダプターのコンテンツがバックグラウンド スレッドからではなく、UI スレッドからのみ変更されていることを確認してください。
問題を解決するには?
これは、実行されたlist.clear()などのデータセットが変更されたときに呼び出されました。
私の提案は、スレッドでこれを行い、一時リストを使用することです。ジョブが完了したら、adapter.notifyDataSetChanged()を呼び出します。
あなたに役立つことを願っています
コレクションの変更がスレッドで行われている場合は、runOnUIThread メソッド内でコレクションを更新します。また、adapter.notifyDataSetChanged() メソッドを呼び出します。