I have Activity where bunch of buttons are placed inside TableLayout not unlike a dial pad. During some operations I need temporarily disable the buttons. To my unpleasant surprise doing TableLayout.setEnabled(false) has no effect on the nested buttons. Am I stuck with setting each individual button or is there a nifty (better) way to achieve the same?
                
                A: 
                
                
              I think you have to set each individual of this Buttons to deactivated. To make it look a little bit nicer you could put all of the buttons in a list and iterate over them during activating and deactivating. But this will not prevent you from finding them all once in you code.
                  Janusz
                   2010-07-08 15:44:58
                
              At very least I can create a custom button which listens on certain event and enables/disables based on that. I'm just trying to be lazy before I go that route :)
                  DroidIn.net
                   2010-07-08 15:48:46
                
                +1 
                A: 
                
                
              I'd try to do something like this:
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).setEnable(false);
}
                  Cristian
                   2010-07-08 15:53:10
                
              Not ideal but acceptable in my circumstances (and short enough). Thanks!
                  DroidIn.net
                   2010-07-08 23:40:55
                
                
                A: 
                
                
              
            Since the buttons are nested under a TableLayout, it should be easy to iterate over the children and set each one. I don't know if there is an easier way.
                  Asker
                   2010-07-08 16:01:22