我们可以停止 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();
}
这对我有用
谢谢
在我的项目中,可扩展列表视图对所有登录都是通用的,但在新的更新中,基于登录用户的角色,我想停止显示某些组视图的子视图。我设法放置了一个 "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();
}
这对我有用 谢谢