0

ListViewローカルから入力した後、SQLite新しいデータを取得するためにリモート データベースからネットワーク経由でデータを取得し、それを表示しListViewて、ローカルSQLiteデータベースがインターネットがない場合の単なるフォールバック メソッドになるようにします。

ネットワークでフェッチしたデータをSQLiteに挿入し、リストThreadを再入力するために別の方法を使用していました。ListView

Thread当然のことながら、ある時点で 2 番目のスレッドが(新しいアイテムを追加するために) リストのすべての項目を削除し、その時点で、2 番目UI Threadのスレッドによって削除されたインデックスにアクセスしようとしているため、アプリがクラッシュします。

これは学術目的であるため、アイデアは外部/カスタム ライブラリを使用していないため、カスタム ライブラリを含まない良いアプローチは何でしょうか?

4

3 に答える 3

0

ListViewメイン アプリケーション スレッドでのみ更新します。たとえば、 の代わりに をThread使用してAsyncTask、 でディスクとネットワーク I/O を実行し、 でdoInBackground()を更新ListViewonPostExecute()ます。

于 2013-09-16T22:33:43.073 に答える