Recyclerviewから値を選択しようとしていますが、選択した項目を強調表示しています。私はbgの色とテキストの色と画像を変更したい。今私は次のコードを使用しています。Recyclerビューで選択した項目を強調表示する方法
selector_row:onBindViewHolderにrecyclerviewで
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/darker_gray" android:state_pressed="false" android:state_selected="true" />
<item android:drawable="@color/store_search_list_item_background"/>
</selector>
:
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (selectedItems.get(position, false)) {
selectedItems.delete(position);
holder.itemView.setSelected(false);
}
else {
selectedItems.put(position, true);
holder.itemView.setSelected(true);
}
}
});
今は選択された行を強調表示することができます。私の問題は です。1)別の行を選択すると、強調表示されます。私は1つの行だけを強調したいと思います。ユーザーが別の行を選択した場合、前の行は強調表示されません。
2)行をハイライト表示するときにテキストとイメージを変更する方法。
私はこの2つの問題を解決するために何か考えてください。
は、強調表示された情報を保存する変数を設定します。 –
操作後にnotifyItemChanged()を呼び出す –
@Demo Mail .. notifyItemChanged()が私のシナリオでは動作しません.. – Vijay