ListActivity
データベースクエリからデータを取得する があります。また、単純なカーソル アダプターを拡張するカスタム アダプターもあります。
カスタマイズされたコンテンツを表示するためにnewView
、 bindView メソッドをオーバーライドしました。
ビューの各要素には次のものがあります。
TextView
タイトルを含むImageView
星の数を含む - 表示される画像は、データベースから取得した値に基づいて変更されます- ボタン - ボタンのテキストはクリック (お気に入り/お気に入りにする) で変化し、データベース更新イベントをトリガーします。
私の問題はこれです-スクロールするListView
と、行った変更が消えたように見えます..たとえば、最初のアイテムがお気に入りとしてマークされ、リストがスクロールされます...最初のアイテムに戻ると、テキストが元に戻ります内部的にデータベースが更新されていますが、以前の値に戻ります。
notifyDatasetChanged()
データベースの変更をアダプターに通知する必要があるため、このケースには適していないことを読みました。メソッドを使用しようとしていますreQuery()
が、どこに配置すればよいかわかりません。
ボタンreQuery()
のメソッドに配置する必要がありますか? onClick
そうでない場合、どこに配置する必要がありますか?