我有一个活动,其中一堆按钮放置在 TableLayout 内,与拨号盘不同。在某些操作中,我需要暂时禁用按钮。令我不快的是,这样做TableLayout.setEnabled(false)
对嵌套按钮没有影响。我是否坚持设置每个单独的按钮,还是有一种漂亮(更好)的方法来实现相同的效果?
问问题
9640 次
3 回答
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);
}
于 2010-07-08T15:53:10.513 回答
1
我认为您必须将此按钮的每个单独设置为停用。为了让它看起来更好一点,您可以将所有按钮放在一个列表中,并在激活和停用期间对其进行迭代。但这不会阻止您在代码中找到它们。
于 2010-07-08T15:44:58.787 回答
0
由于按钮嵌套在 TableLayout 下,因此应该很容易迭代子项并设置每个子项。不知道有没有更简单的方法。
于 2010-07-08T16:01:22.663 回答