Hacer un bucle a través de todos los "widgets" / elementos de una actividad

Empecé mi propia aplicación Android hace unos días, ya que necesitaba una aplicación móvil para almacenar un montón de datos que recojo en el hospital.

Soy bastante nuevo en Java y Android, aunque parece fácil de entender y muy similar a C ++.

De todos modos, mi aplicación tiene un montón de "EditText" y botones de radio y mi pregunta es:

¿Cómo puedo iterar a través de todos esos widgets (EditTexts y botones de radio)?

En .NET puedes hacer un bucle "para cada elemento en contenedor" pero no puedo encontrar una forma de hacerlo en el entorno Java / android.

Nota: No sé cuántos "widgets" existen en la actividad, ya que algunos se crean dinamicamente, otros son codificados y otros muestran si se establecen algunas preferencias de usuario

Cualquier ayuda o pista sería apreciada.

for (int i = 0; i < rootView.getChildCount(); i++) rootView.getChildAt(i) 

Tenga en cuenta que esto devolverá View-s, tendrá que comprobar en tiempo de ejecución exactamente qué tipo de vista que está buscando actualmente

Funciona.

En cuanto al tipo View (es decir, Spinner, radioButton, EditText, etc), podemos etiquetar cada tipo que deseamos analizar en el archivo XML de Layout y luego agregar un condicional, es decir:

  if (Widget_Tag != null){ View Current_Widget = (View) rootView.getChildAt(i); String Widget_Tag = (String) Current_Widget.getTag(); if (Widget_Tag.equals("MyEdiText")) { //do something } } 

El if (Widget_Tag! = Null) {es para evitar NullPointReferences. También puede hacerlo con un intento / captura.

Puede probar este código:

 LayoutInflater inflater = getLayoutInflater(); LinearLayout l = (LinearLayout) inflater.inflate(R.layout.main, null); ViewGroup Current_Widget = (ViewGroup)l.getRootView(); for (int i = 0; i < Current_Widget.getChildCount(); i++) Current_Widget.getChildAt(i); 
  • Actualizar Android ListView en Widget
  • Cómo configurar RecyclerView en el widget android
  • Modificación del widget de barra de búsqueda de Android para que funcione verticalmente
  • ¿Cómo mostrar un diálogo en un widget?
  • Cómo tener acceso a un elemento TextView en un BroadcastReceiver
  • Widget de la aplicación Android con renderizado personalizado
  • El widget de Android no puede recibir el mensaje DATE_CHANGED
  • Widget de Android que no se actualiza - tiene una ID de widget incorrecta
  • mensaje del widget android para desbloquear
  • ¿El widget Android deja de funcionar después de un tiempo?
  • ¿Cómo agregar un botón a las notificaciones en android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.