繁体   English   中英

ListView-CHOICE_MODE_MULTIPLE_MODAL-正在选择随机项目

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM