我们可以停止 groupview 在触摸它时不显示它的 childList(对于某些特定情况)

Can we stop a groupview not to show its childList when touched on it (For some specific cases)

在我的项目中,可扩展列表视图对所有登录都是通用的,但在新的更新中,基于登录用户的角色,我想停止显示某些组视图的子视图。我设法放置了一个 "Access Denied" 对话框,但我无法停止,组视图的扩展或显示子视图。有办法吗?

我尝试将角色传递给 expandableListAdapter 的适配器 class 并在 getChildView 中编写一些情况,例如 if (groupPosition==1 && role == 1) 我膨胀了一个空布局。这样我就无法阻止扩展,子视图仍在显示,但它是空的,点击它时,它会抛出空指针异常。

我找到了一种方法,我返回了 child 特定案例的计数 0

@Override
    public int getChildrenCount(int groupPosition) {
        Log.e("getChildrenCount", "getChildrenCount");

        if ((this.listDataChild.get(this.listDataHeader.get(groupPosition)) == null)
                || (roleId.equalsIgnoreCase("2") && groupPosition!=1)
                || (roleId.equalsIgnoreCase("3") && groupPosition!=2)
                || (roleId.equalsIgnoreCase("5") && groupPosition!=4)   )
            return 0;
        else
            return this.listDataChild.get(this.listDataHeader.get(groupPosition)).size();
    }

这对我有用 谢谢