Android: масса позволяет/запрещает кнопки

У меня есть действие, куда набор кнопок помещается в TableLayout, мало чем отличаясь от наборной панели. Во время некоторых операций я должен временно отключить кнопки. К моему неприятному неожиданному выполнению TableLayout.setEnabled(false) не имеет никакого эффекта на вложенные кнопки. Застревают я с установкой каждой отдельной кнопки или там изящный (лучший) способ достигнуть того же?

6
задан THelper 2 May 2012 в 12:29
поделиться

3 ответа

Я бы попробовал сделать что-то вроде этого:

TableLayout tableLayoutInstance; // let's suppouse you have already initialized it
// blablabla
// example to deactivate all buttons
ArrayList<View> touchables = tableLayoutInstance.getTouchables();
for(View touchable : touchables){
    if( touchable instanceof Button )
        ((Button)touchable).setEnabled(false);
}
9
ответ дан 10 December 2019 в 00:32
поделиться

Я думаю, вам нужно отключить каждую из этих кнопок. Чтобы он выглядел немного лучше, вы можете поместить все кнопки в список и перебирать их во время активации и деактивации. Но это не помешает вам найти их все один раз в своем коде.

1
ответ дан 10 December 2019 в 00:32
поделиться

Поскольку кнопки вложены в TableLayout, должно быть легко перебирать дочерние элементы и устанавливать каждого из них. Не знаю, есть ли более простой способ.

0
ответ дан 10 December 2019 в 00:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: