我们可以阻止组视图在触及时不显示其子列表(对于某些特定情况)

问题描述 投票:0回答:1

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

我试图将角色传递给expandableListAdapter类的适配器,并在getChildView中编写一些案例,如if(groupPosition == 1 && role == 1)我夸大了空布局。这种方式我无法阻止扩展,子视图仍然显示但它是空的并且在点击它时,它抛出空指针异常。

android listview expandablelistview expandablelistadapter
1个回答
0
投票

我找到了一种方法,我为特定情况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();
    }

这对我有用谢谢

© www.soinside.com 2019 - 2024. All rights reserved.