如何禁用可扩展列表视图中的元素?

How to disable elements in expandablelistview?

我将 ExpandableListView 与“groups”和“childs”元素一起使用。是否可以禁用扩展某些组元素?我需要更改 Adapter 中的一些代码还是应该 override onclick 方法?

对点击时不应触发的组 header 调用 .setClickable(false)。 您的适配器接到 getGroupView 的呼叫。此方法 returns 显示为组 header 的视图。 如果您不想让该视图可点击,请调用 .setClickable(false)

    @Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {

    if (convertView == null) {
        LayoutInflater li = LayoutInflater.from(activity);
        convertView = li.inflate(<<your header item>>, null);
    }

     if (isLastGroup)
        convertView.setClickable(false);

    return convertView;
}

在你的列表视图上使用 setOnGroupClickListener 并在你想要禁用的位置上使用 return true

这将禁用要扩展的第一个元素

expListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
        @Override
        public boolean onGroupClick(ExpandableListView expandableListView, View view, int i, long l) {
            if (i==0){
                return true;
            }
            return false;
        }
    });