Android:批量启用/禁用按钮

时间:2010-07-08 15:41:52

标签: android button tablelayout

我有一个活动,其中一堆按钮放在TableLayout内,与拨号盘不同。在某些操作中,我需要暂时禁用按钮。令我不愉快的是,TableLayout.setEnabled(false)对嵌套按钮没有任何影响。我是坚持设置每个单独的按钮还是有一个漂亮(更好)的方式来实现相同的?

3 个答案:

答案 0 :(得分:9)

我会尝试这样做:

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);
}

答案 1 :(得分:1)

我认为您必须将此按钮的每个个体设置为停用。为了使它看起来更好一些,您可以将所有按钮放在列表中,并在激活和停用期间迭代它们。但是,这不会阻止您在代码中找到它们。

答案 2 :(得分:0)

由于按钮嵌套在TableLayout下,因此应该很容易迭代子项并设置每个子项。我不知道是否有更简单的方法。