How can I go through all the editText of LinearLayout?

0

Hello guys, this time I would like to collaborate on the way in which all the EditText of a Linearlayout are covered: here my XML code still has nothing in Java:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:weightSum="1"
    android:id="@+id/padre">

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <TextView
                android:text="I-0 REGLAS PARA TRABAJOS EN CIRCUITOS ENERGIZADOS (MEDIA TENSIÓN)"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/textView4"
                android:textColor="@android:color/background_dark"
                android:fontFamily="monospace"
                android:textStyle="normal|bold|italic"
                android:textSize="18sp"
                android:textColorLink="?android:attr/colorMultiSelectHighlight"
                android:textAllCaps="true" />

            <TextView
                android:text="0.1 El vehículo y accesorios de cubrimiento cuentan con pruebas de aislamiento eléctrico vigente(Menor a 1 año)"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/textView9" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <RadioGroup
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal">

                    <RadioButton
                        android:text="Si"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id="@+id/rbt1"
                        android:checked="true"
                        android:onClick="EliminarDatosNegacion"
                        android:width="150dp" />

                    <RadioButton
                        android:text="No"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id="@+id/rbt2"
                        android:onClick="DatosNegacion"
                        android:width="150dp" />

                    <RadioButton
                        android:text="N/A"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id="@+id/rbt3"
                        android:layout_weight="0.02"
                        android:onClick="EliminarDatosNegacion"
                        android:width="150dp" />

                </RadioGroup>
            </LinearLayout>

            <TextView
                android:text="0.2 Se utiliza y mantiene sistema de puesta a tierra del vehículo"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/textView11" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">
                <RadioGroup
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal">

                    <RadioButton
                        android:text="Si"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id="@+id/rbt4"
                        android:checked="true"
                        android:onClick="EliminarDatosNegacion"
                        android:width="150dp" />

                    <RadioButton
                        android:text="No"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id="@+id/rbt5"
                        android:onClick="DatosNegacion"
                        android:width="150dp" />

                    <RadioButton
                        android:text="N/A"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id="@+id/rbt6"
                        android:layout_weight="0.02"
                        android:onClick="EliminarDatosNegacion"
                        android:width="150dp" />
                </RadioGroup>
            </LinearLayout>

            <TextView
                android:text="0.3 Se realizó cubrimiento en líneas, crucetas, aisladores y / o postes"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/textView15" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">
                <RadioGroup
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">

                <RadioButton
                    android:text="Si"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/rbt7"
                    android:checked="true"
                    android:onClick="EliminarDatosNegacion"
                    android:width="150dp" />

                <RadioButton
                    android:text="No"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/rbt8"
                    android:onClick="DatosNegacion"
                    android:width="150dp" />

                <RadioButton
                    android:text="N/A"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/rbt9"
                    android:layout_weight="0.02"
                    android:onClick="EliminarDatosNegacion"
                    android:width="150dp" />
            </RadioGroup>
            </LinearLayout>

            <TextView
                android:text="0.4 El vehículo se estabilizó correctamente y se encuentra señalizado. Se evita el contacto con el vehículo, cuando el liniero hace contacto con la red."
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/textView21" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">
                <RadioGroup
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal">

                    <RadioButton
                        android:text="Si"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id="@+id/rbt10"
                        android:checked="true"
                        android:onClick="EliminarDatosNegacion"
                        android:width="150dp" />

                    <RadioButton
                        android:text="No"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id="@+id/rbt11"
                        android:onClick="DatosNegacion"
                        android:width="150dp" />

                    <RadioButton
                        android:text="N/A"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id="@+id/rbt12"
                        android:layout_weight="0.02"
                        android:onClick="EliminarDatosNegacion"
                        android:width="150dp" />
                </RadioGroup>
            </LinearLayout>

            <TextView
                android:text="0.5 Condiciones atmosféricas libre de lluvias y tormentas eléctricas. Se  cuenta con iluminación natural que permita la realización de los trabajos."
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/textView22" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">
                <RadioGroup
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">

                <RadioButton
                    android:text="Si"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/rbt13"
                    android:checked="true"
                    android:onClick="EliminarDatosNegacion"
                    android:width="150dp" />

                <RadioButton
                    android:text="No"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/rbt14"
                    android:onClick="DatosNegacion"
                    android:width="150dp" />

                <RadioButton
                    android:text="N/A"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/rbt15"
                    android:layout_weight="0.02"
                    android:onClick="EliminarDatosNegacion"
                    android:width="150dp" />
            </RadioGroup>
            </LinearLayout>

            <Button
                android:text="Siguiente Paso"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/btnNext"
                style="@style/Widget.AppCompat.Button.Colored"
                android:onClick="CambiarPagina"/>
        </LinearLayout>
    </ScrollView>
</LinearLayout>

Thanks in advance

    
asked by Felipe Mendieta Perez 14.02.2017 в 16:55
source

1 answer

1

If your Edittext have something in common in your description (or if you can guarantee that it is), you can iterate over the View of your parent view using:

ArrayList<View> vistas = new ArrayList<View>();
view.findViewsWithText(vistas, "<texto>", FIND_VIEWS_with_CONTENT_DESCRIPTION);
// luego eliminar las vistas que no son TextView
Iterator<View> it = vistas.iterator();
while (it.hasNext()){
    View v = it.next();
    if (!(v instanceof TextView)) vistas.remove(v);
}
// y tienes la lista que contiene puros TextView

Alternatively you can get all the views below a View that are playable with:

ArrayList<View> vistas = view.getTouchables();
Iterator<View> it = vistas.iterator();
while (it.hasNext()){
    View v = it.next();
    if (!(v instanceof TextView)) vistas.remove(v);
}

Obviously you can apply more conditions to filter than instanceof to your needs.

    
answered by 14.02.2017 в 17:39