Android: botones de activación / desactivación de la masa

Tengo una actividad donde un montón de botones se colocan dentro de TableLayout, no a diferencia de un teclado de marcación. Durante algunas operaciones necesito desactivar temporalmente los botones. Para mi desagradable sorpresa haciendo TableLayout.setEnabled(false) no tiene ningún efecto en los botones anidados. ¿Estoy atascado con la configuración de cada botón individual o hay una manera astuta (mejor) para lograr lo mismo?

Intentaría hacer algo como esto:

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

Creo que tienes que configurar cada uno de estos botones para desactivar. Para hacer que parezca un poco más agradable que usted podría poner todos los botones en una lista e iterar sobre ellos durante la activación y desactivación. Pero esto no le impedirá encontrarlas todas una vez en su código.

Puesto que los botones están anidados bajo un TableLayout, debe ser fácil de iterar sobre los niños y configurar cada uno. No sé si hay una manera más fácil.

  • Botón plano del androide
  • Cambia dinámicamente el ancho de un botón en Android
  • LinearLayout - verticalmente no alinear
  • ¿Posible superponer un botón encima de otro?
  • ¿Cómo desactivar el botón de clic?
  • ¿Botón en la tostada de encargo de Android?
  • Android: ¿Activar / desactivar un botón en Runtime?
  • Cómo obtener un fondo de botón de nuevo a predeterminado (mediante programación)?
  • ¿Cómo ajustar el texto en el botón?
  • El botón de reproducción de audio no funciona
  • Coloque los botones en la parte inferior de la pantalla con LinearLayout?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.