Я ожидаю, что произойдет, что вы сделаете представление невидимым, но дети пока что реагируют на клики (т.е. ваше представление - это ViewGroup). Вы могли бы сделать что-то вроде:
private void hideTheChildren(View v){
if(v instanceof ViewGroup) {
int count = ((ViewGroup)v).getChildCount();
for(int k = 0 ; k < count ; k++) {
hideTheChildren(((ViewGroup)v).getChildAt(k));
}
v.setVisibility(View.GONE);
}
else {
v.setClickable(false);
v.setVisibility(View.GONE);
}
}
конечно, тогда вы также должны сделать обратное
private void showTheChildren(View v){
if(v instanceof ViewGroup) {
int count = ((ViewGroup)v).getChildCount();
for(int k = 0 ; k < count ; k++) {
showTheChildren(((ViewGroup)v).getChildAt(k));
}
v.setVisibility(View.VISIBLE);
}
else {
v.setClickable(true);
v.setVisibility(View.VISIBLE);
}
}
Это работало для меня в прошлом. В настоящее время я не знаю лучшего способа сделать это.