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

Posted

技术标签:

【中文标题】我们可以停止一个 groupview 在触摸它时不显示它的 childList(对于某些特定情况)【英文标题】:Can we stop a groupview not to show its childList when touched on it (For some specific cases) 【发布时间】:2019-09-19 18:33:41 【问题描述】:

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

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

【问题讨论】:

【参考方案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();
    

这对我有用 谢谢

【讨论】:

以上是关于我们可以停止一个 groupview 在触摸它时不显示它的 childList(对于某些特定情况)的主要内容,如果未能解决你的问题,请参考以下文章

触摸时不突出显示表格视图行

在 Swift 中真实地停止旋转

AVAudioPlayer UIButton - 第二次触摸停止当前音频播放

动画移动 UIButton 在移动时不响应触摸/点击

UITextField 添加到 UIView 时不响应触摸事件

UITableView,离屏,滑入屏幕时不接收触摸事件