Android:批量启用/禁用按钮
我有一个活动,在TableLayout中放置了一堆按钮,这和拨号板没什么两样。在某些操作中,我需要暂时禁用按钮。令我不快的是,执行Android:批量启用/禁用按钮,android,button,tablelayout,Android,Button,Tablelayout,我有一个活动,在TableLayout中放置了一堆按钮,这和拨号板没什么两样。在某些操作中,我需要暂时禁用按钮。令我不快的是,执行TableLayout.setEnabled(false)对嵌套按钮没有影响。我是不是一直在设置每个按钮,还是有更好的方法来达到同样的效果 我认为您必须将每个按钮设置为停用。为了让它看起来更好一点,你可以把所有的按钮放在一个列表中,并在激活和停用期间对它们进行迭代。但这不会阻止您在代码中一次性找到它们。我会尝试这样做: TableLayout tableLayoutI
TableLayout.setEnabled(false)
对嵌套按钮没有影响。我是不是一直在设置每个按钮,还是有更好的方法来达到同样的效果 我认为您必须将每个按钮设置为停用。为了让它看起来更好一点,你可以把所有的按钮放在一个列表中,并在激活和停用期间对它们进行迭代。但这不会阻止您在代码中一次性找到它们。我会尝试这样做:
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);
}
TableLayout tableLayoutInstance;//我们假设您已经初始化了它
//喋喋不休
//禁用所有按钮的示例
ArrayList touchables=tableLayoutInstance.getTouchables();
用于(可触摸视图:可触摸){
if(可触摸instanceof按钮)
((按钮)可触摸)。设置启用(错误);
}
由于按钮嵌套在TableLayout下,因此应该很容易迭代子项并设置每个子项。我不知道是否有更简单的方法。至少我可以创建一个自定义按钮,用于侦听特定事件并基于此启用/禁用。在我走那条路之前,我只是想偷懒:)不理想,但在我的情况下是可以接受的(而且足够短)。谢谢((按钮)可触摸)。设置启用(错误);