【问题标题】:Multi choice mode listview row remains checked after deletion多选模式列表视图行在删除后保持选中状态
【发布时间】:2016-01-30 19:40:52
【问题描述】:

我有一个使用DragSortListView 库创建的列表视图。我能够检查和取消使用自定义基本适配器创建的行。我在我的片段代码中使用 getCheckedItemPositions() 获得检查的位置。

问题是当我删除一个被选中的特定行并添加一个新行时,会自动检查该新行。我希望该行在被删除时取消选中

这是我在 getView() 中所做的,但它不起作用。

holder.clearItem.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            items.remove(position);
            updateNoteAdapter(items);
            holder.container.setChecked(false); //row needs to be unchecked
        }
    });

items 是列表行中显示的项目的arraylist。

holder.container 是实现 Checkable 的 OneLineCheckableListItem 类。

public class OneLineCheckableListItem extends RelativeLayout implements Checkable{

public OneLineCheckableListItem(Context context, AttributeSet attrs){
    super(context, attrs);
}

private boolean checked;

@Override
public void setChecked(boolean checked) {
    this.checked = checked;

    ImageView iv = (ImageView) findViewById(R.id.SelectImageView);
    iv.setImageResource(checked ? R.drawable.ic_toggle_check_box : R.drawable.ic_toggle_check_box_outline_blank);

}

@Override
public boolean isChecked() {
    return checked;
}

@Override
public void toggle() {
    this.checked = !this.checked;
}

}

这里有什么我错过的吗?任何帮助表示赞赏。谢谢。

【问题讨论】:

  • 添加 notifyDataSetChanged();在 holder.container.setChecked(false);
  • notifyDataSetChanged();在 updateNoteAdapter(items); 内部调用;

标签: android listview android-listview baseadapter


【解决方案1】:

我在下面找到了这个解决方案。

setChecked() 不检查项目,我们必须在 ListView 上使用 setItemChecked()。

要检查 CHOICE_MODE_MULTIPLE 中的项目,您无需调用 CheckedTextView 上的 setChecked()。调用 setItemChecked() 列表视图。

https://groups.google.com/forum/#!searchin/android-developers/choice_mode_multiple$20listview$20/android-developers/qPgt23C2-0o/Xdjs9ARPLGcJ

还有这个

Call Activity method from adapter

【讨论】:

    猜你喜欢
    • 2010-09-19
    • 1970-01-01
    • 1970-01-01
    • 2013-06-14
    • 1970-01-01
    • 2021-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多