Wie man durch die Elemente einer Ansicht iteriert

Ich habe einen Blick mit Radios, Eingaben und einem Knopf und wenn ich darauf klicke, möchte ich überprüfen, dass alle Eingaben Informationen enthalten. Wie kann ich durch die Elemente der Ansicht in der Aktivität iterieren und überprüfen, ob jede Textansicht die oben genannte Anforderung erfüllt? Vielen Dank.

  • Multipe Formen in shapes.xml in Android
  • Multipe Formen in shapes.xml in Android
  • 3 Solutions collect form web for “Wie man durch die Elemente einer Ansicht iteriert”

    Ich habe etwas Ähnliches in irgendeinem Code gemacht, den ich im Moment nicht mit mir habe, aber aus dem Gedächtnis sollte es so etwas sein (unter der Annahme einer Elternansicht LinearLayout mit einer ID von "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; } 

    Um die Methode von kcoppock rekursiv anzuwenden, kannst du sie dazu ändern:

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

    Ihr onClickListener liefert das Objekt View v ; Verwenden Sie View rV = v.getRootView() um sich auf dem Formular zu positionieren. Verwenden rV.findViewWithTag( ... ) dann rV.findViewWithTag( ... ) oder rV.findViewByID(R.id. ... ) , um Ihre Formularelemente zu lokalisieren.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.