我有一个BaseActivity
which extendsActivity
和所有其他活动都扩展了 this 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
表明它可以被单击并且在单击时它的颜色会发生变化,但是在禁用它们之后应该执行的操作是不可访问的。