ExpandableListView:使组在ActionMode中不可选

时间:2014-01-14 22:29:26

标签: android android-actionbar expandablelistview contextual-action-bar

我的问题是 - 我有一个ExpandableListView并希望在其子项上使用Contextual Action Bar (CAB)。不好的是 - 通过长按来选择组项目,这对我不利。那么在ActionMode中是否有任何方法可以使它们不可选? 我试着用onItemLongClick;在getGroupView内尝试了onLongClick。尝试了其他一些技巧但失败了。

如果您发现这是不可能的 - 也许有一种方法可以选择所选组中的所有子项?这可能是一个解决方案,但我无法做到这一点。 谢谢。

1 个答案:

答案 0 :(得分: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将再次被触发!

希望它有所帮助)