2017-11-30 13 views
-1

listviewのベースアダプタを使用して、学生の写真を自分のプロジェクトに表示します。大丈夫です。しかしその後、生徒が自分のアプリから画像を変更したときに、画像を動的に更新するためにハンドラを使用しています。必要に応じて動作しません。notifyDataSetChangedメソッドがBaseAdapterとListViewで動作しない

ベースアダプタが取得され、ローカルSQLiteの DBからデータ(ArrayList)とSQLiteのはハンドラ内AsyncTaskによってサーバーからデータを取得しています。初めてすべての生徒の画像と名前が表示されますが、画像の更新は動的に動作しません。

私はnotifyDataSetChangedメソッドを使用しています。私もSimpleAdapterArrayAdapterを試しましたが、問題は解決しません。私は何をすべきか???

+0

ヘルプを試したコードスニペットを追加してください。 –

答えて

0

Base-adapterArray AdapterにはnotifyDataSetChangedメソッドを使用しましたが、この方法は、アダプタのデータが変更された場合、データに応じてビューが更新されるように機能します。データベース内のデータを更新すると、変更は行われず、ビューは更新されないため、adapterをリセットする必要があります。

+0

実際には、アダプタの参照データがdata.clear()の後にデータベースカーソルから完全に新しく形成されるたびにメソッドを使用しています。すべてが完璧です(私はリストビューリフレッシュの直前にデータベースクエリでチェックしました)が、リストビューをリフレッシュしないnotifyDatasetChanged()です。 – Biltu

関連する問題