禁用后,Android会在listview中重新启用listitem

时间:2013-02-14 08:05:57

标签: android listview android-view listitem viewgroup

我有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显示可以单击它并且其颜色在单击时发生更改但禁用后应该执行的操作无法访问。

1 个答案:

答案 0 :(得分:1)

试试这个:

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