マルチセレクションリストビューに問題があります。リストビューの最初のアイテムを選択してスクロール中に最後のアイテムを選択したときに問題が発生しました。 +リストビュー内の項目。私は私のコードで間違っているのかわからないし、いずれも私がContextual Action Mode
を使用してRecyclerView Multiselect
を使用して、これを行っているリストビュー2つのアイテムがスクロール中に選択されました
private class MultipleChoiceClickListener implements
ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
if (questionCount > 0) {
ImageView imgTick = (ImageView) view.findViewById(R.id.imgTick);
int len = lvMultiSelect.getCount();
checked = lvMultiSelect.getCheckedItemPositions();
for (int i = 0; i < len; i++) {
if (i == position) {
if (checked.get(i)) {
lvMultiSelect.getChildAt(i).setBackgroundColor(
getResources().getColor(
R.color.listitem_onclick));
imgTick.setImageResource(R.drawable.tick_img);
} else {
lvMultiSelect.getChildAt(i).setBackgroundColor(
getResources().getColor(
R.color.default_list_background));
imgTick.setImageResource(R.drawable.not_checked_img);
}
}
}
}
キャッシュされたビューを使用している可能性があります。考えられる解決方法は、モデルクラスでチェックされた状態と未チェックの状態を維持することです。そして、モデルクラスのオブジェクトを参照して、チェックを設定し、ステータスを非表示にします – avinash