[英]ListView - CHOICE_MODE_MULTIPLE_MODAL - Random items are being selected
基本上,我有一个错误,就是我的某些列表视图的子项会显示为选中状态,而实际上却没有。 例如,如果我输入ActionMode
并仅选择第一个孩子,则会出现其他几个孩子,好像我已经选择了它们,但实际上并未选择它们。 为什么会这样呢?
public void onItemCheckedStateChanged(ActionMode mode, int position,
long id, boolean checked) {
final int checkedCount = lv.getCheckedItemCount();
mSelectedConvCount.setText(Integer.toString(checkedCount));
if (checked) {
lv.getChildAt(position).setBackgroundColor(
Color.BLUE);
} else {
lv.getChildAt(position).setBackgroundColor(
Color.TRANSPARENT);
}
}
}
记住:在ListView
,您必须在每次显示子视图时设置或更改任何设置; 您在提供的代码中所做的所有工作都是在最初进行设置。 这意味着您的适配器还必须根据需要设置setBackgroundColor
,例如在bindView()
。 否则,在回收视图时,它将保留先前的背景色,而在不显示时将显示为选中状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.