0

我的问题是 - 我有一个ExpandableListView并且想Contextual Action Bar (CAB)在它的子项目上使用。不好的是 - 组项目也是通过长按来选择的,这对我来说很糟糕。那么有什么方法可以让它们在 ActionMode 中不可选择?我尝试使用onItemLongClick;在里面试过onLongClick getGroupView。尝试了其他一些技巧,但失败了。

如果您发现这不可能 - 也许有一种方法可以使所选组中的所有子项目也被选中?这可能是一个解决方案,但我不能那样做。谢谢你。

4

1 回答 1

0

解决了。我做的是下一个:

public void onItemCheckedStateChanged(ActionMode mode, int position, long id,
                        boolean checked) {
    int type = ExpandableListView.getPackedPositionType(id);
    if (checked && type == ExpandableListView.PACKED_POSITION_TYPE_GROUP) {
        elvBankBranches.setItemChecked(position, false);
            return;
        }
}

当项目被选中时 - 我检查它是否是一个组 - 如果是 - 只需取消选中它。工作正常。笔记!- 当取消选中代码中的项目时 - 此方法onItemCheckedStateChanged将再次触发!

希望它可以帮助某人)

于 2014-01-16T15:18:15.537 回答