【问题标题】:Android renabling listitem in listview after disabling itAndroid在禁用列表视图后启用列表项
【发布时间】:2013-02-14 08:05:56
【问题描述】:

我有一个BaseActivity,它扩展了Activity,所有其他活动都扩展了这个BaseActivity

我所做的是在我的应用程序状态下,我想从BaseActivity 禁用屏幕上的所有项目,然后使用以下代码再次启用它们:

private void DisableChildClickEvents(ViewGroup viewGroup, boolean enabled) {
    for (int i = 0; i < viewGroup.getChildCount(); i++) {
        View childView = viewGroup.getChildAt(i);
        childView.setClickable(enabled);
        childView.setEnabled(enabled);
        if (childView instanceof ViewGroup) {
            DisableChildClickEvents((ViewGroup)childView, enabled);
        }
    }
}

问题是我在其中一个活动中有一个ListView,此代码禁用它并且所有点击它的项目,但它不能再次点击它们。其中ListItem 表明它可以被点击并且在点击时它的颜色会发生变化,但是在禁用它们之后应该执行的操作是不可访问的。

【问题讨论】:

  • 不确定,您是否尝试再次设置 onClickListener?如果您自动禁用可点击,它可能会被取消注册
  • @StefandeBruijn 我已经为 ListView 设置了 setOnItemClickListener,为什么还要重新设置?

标签: android listview android-view listitem viewgroup


【解决方案1】:

试试这个:

if (childView instanceof ListView) {
               if (enabled == true) {
                   ListView list = (ListView) childView;
                   list.getOnItemClickListener();
               }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-11
    • 1970-01-01
    相关资源
    最近更新 更多