Ответ Джо не помог мне.Мой сценарий немного отличается.У меня есть FrameLayout с двумя детьми.Только один из дочерних элементов должен быть «активным» в данный момент, и пока второй активен, первый больше не должен обрабатывать ввод.Мое решение:
public static void changeVGstate(ViewGroup current, boolean enable)
{
current.setFocusable(enable);
current.setClickable(enable);
current.setEnabled(enable);
for (int i = 0; i < current.getChildCount(); i++)
{
View v = current.getChildAt(i);
if (v instanceof ViewGroup)
changeVGstate((ViewGroup)v, enable);
else
{
v.setFocusable(enable);
v.setClickable(enable);
v.setEnabled(enable);
}
}
}
Наслаждайтесь!