0

私は持っていlistviewます。そのリスト ビューに、 と を含むレイアウト ファイルを挿入しましtextViewimageviewTextviewから入力されarraylistます。リストをフィルタリングするために使用する を直接提供するため、 を使用しましたarray-adaptergetFilter()

アイテムのリストを返すデータベース クエリを実行しています。すべてのアイテムをCursor. 現在、カーソルを反復処理して、データベースの項目が配列リストに含まれているかどうかを確認しています。

一致した場合に画像を切り替えたいのですが、どうすればいいですか。

Cursor crs = actSl.execSQL(sqlQuery);
 if (crs != null && crs.getCount() > 0) {
  crs.moveToFirst();
  if (crs.getCount() > 0) {
     do {
         for(String favItem:favouritesList){
               if (favItem.contains(crs.getString(0))) {                        

                            }
                        }
                    } while (crs.moveToNext());
                }
            } 
4

2 に答える 2

0

データ構造を変更したくない場合は、画像のステータスを保持する favouritesList のサイズのブール値の新しい配列 (または配列リスト) を作成する方法があります。次に、これらの値を変更して、yourListAdapter.notifyItemsChanged() を呼び出します。

そうそう、アダプターの getView 内では、(もちろん) ブール値を読み取る必要があります。

アダプター外のリストの個別のビューにアクセスすることはできず、それらへの参照を保持することは強くお勧めしません。

于 2013-01-24T08:52:24.007 に答える
0

次の手順に従います。

  1. 最初に arrayList から imageViews を設定します (arrayList を customAdapter に渡します)。

  2. imageView を変更する必要がある場合は、単に arrayList() を変更する、つまり更新します。

  3. を使用してアダプターに通知します

    customListAdapter.notifyItemsChanged();

これで問題は解決します。その他ご不明な点はお気軽にご質問ください

于 2013-01-24T09:05:04.927 に答える