我有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
显示可以单击它并且其颜色在单击时发生更改但禁用后应该执行的操作无法访问。
答案 0 :(得分:1)
试试这个:
if (childView instanceof ListView) {
if (enabled == true) {
ListView list = (ListView) childView;
list.getOnItemClickListener();
}