在我的项目中,可扩展列表视图对于所有登录名都是通用的,但是在新的更新中,基于登录用户的角色,我想停止显示某些组视图的子级。我设法放置了一个“访问被拒绝”对话框,但无法停止,无法扩展groupview或显示子视图。有办法吗?
我试图将角色传递给expandableListAdapter类的适配器,并在getChildView中编写一些情况,例如if(groupPosition == 1 && role == 1)我夸大了一个空布局。这样我无法阻止扩展,子视图仍在显示,但是它是空的,单击该子视图会引发空指针异常。
最佳答案
我找到了解决方法,我针对特定情况返回了孩子人数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();
}
这对我有用
谢谢