Cómo iterar a través de elementos de una vista

Tengo una vista con radios, entradas y un botón y cuando hago clic en él, quiero comprobar que todas las entradas contienen información. ¿Cómo puedo iterar a través de los elementos de la vista en la actividad y comprobar si cada vista de texto cumple con el requisito antes mencionado? Gracias.

He hecho algo similar en algún código que no tengo conmigo en este momento, pero de memoria debería ser algo como esto (suponiendo que un padre ver LinearLayout con un id de "layout"):

LinearLayout layout = (LinearLayout)findViewById(R.id.layout); boolean success = formIsValid(layout); public boolean formIsValid(LinearLayout layout) { for (int i = 0; i < layout.getChildCount(); i++) { View v = layout.getChildAt(i); if (v instanceof EditText) { //validate your EditText here } else if (v instanceof RadioButton) { //validate RadioButton } //etc. If it fails anywhere, just return false. } return true; } 

Para aplicar el método por kcoppock recursivamente, puede cambiarlo a esto:

 private void loopViews(ViewGroup view) { for (int i = 0; i < view.getChildCount(); i++) { View v = view.getChildAt(i); if (v instanceof EditText) { // Do something } else if (v instanceof ViewGroup) { this.loopViews((ViewGroup) v); } } } 

Su onClickListener suministra el objeto View v ; View rV = v.getRootView() para posicionarse en el formulario. A continuación, utilice rV.findViewWithTag( ... ) o rV.findViewByID(R.id. ... ) para localizar los elementos del formulario.

  • Forma de desplazamiento dentro de un ShapeDrawable
  • Dibujo de múltiples formas con ShapeDrawable en xml con Android
  • Input type = "file" accept = "image / *" captura = "cámara" no funciona para móviles
  • Dibujo de un pulgar hueco redondeado sobre arco
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.