Как создать взаимосвязанные элементы в XML-файле Android - PullRequest
0 голосов
/ 28 августа 2018

Я создал пару вопросов для своего приложения для Android, второй вопрос зависит от одного, я хочу создать его так, чтобы, если вы заполните нулевое число человек, которые будут протестированы, он автоматически заполнит следующий сегмент вопроса. я делаю это? вот мой XML

    `<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent">

<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"
    tools:context=".GeneratorActivity">

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/ScrollView01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:scrollbars="vertical">

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

            <!--Put form controls here-->

        </LinearLayout>
    </ScrollView>


    <TextView
        android:id="@+id/tested1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="How many people tested"
        android:textAppearance="@android:style/TextAppearance.Large"
        tools:layout_editor_absoluteX="16dp"
        tools:layout_editor_absoluteY="16dp" />

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

        <TextView
            android:id="@+id/txtMale11"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Male"
            android:textAppearance="@android:style/TextAppearance.Large"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="63dp" />

        <EditText
            android:id="@+id/male11"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:textColor="@color/blue" />

</LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">


<TextView
        android:id="@+id/textView7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Female"
        android:textAppearance="@android:style/TextAppearance.Large"
        tools:layout_editor_absoluteX="16dp"
        tools:layout_editor_absoluteY="209dp" />

        <EditText
            android:id="@+id/female11"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:textColor="@color/blue" />

    </LinearLayout>

    <TextView
        android:id="@+id/positive1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="How many people positive"
        android:textAppearance="@android:style/TextAppearance.Large"
        tools:layout_editor_absoluteX="16dp"
        tools:layout_editor_absoluteY="16dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Male"
            android:textAppearance="@android:style/TextAppearance.Large"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="63dp" />

        <EditText
            android:id="@+id/male12"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:textColor="@color/blue" />

    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">


        <TextView
            android:id="@+id/textView10"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Female"
            android:textAppearance="@android:style/TextAppearance.Large"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="209dp" />

        <EditText
            android:id="@+id/female12"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:textColor="@color/blue" />

    </LinearLayout>

    <TextView
        android:id="@+id/linked1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="How many people linked"
        android:textAppearance="@android:style/TextAppearance.Large"
        tools:layout_editor_absoluteX="16dp"
        tools:layout_editor_absoluteY="16dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/textView6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Male"
            android:textAppearance="@android:style/TextAppearance.Large"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="63dp" />

        <EditText
            android:id="@+id/male13"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:textColor="@color/blue" />

    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">


        <TextView
            android:id="@+id/textView19"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Female"
            android:textAppearance="@android:style/TextAppearance.Large"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="209dp" />

        <EditText
            android:id="@+id/female13"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:textColor="@color/blue" />

    </LinearLayout>
    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="How many people started ART"
        android:textAppearance="@android:style/TextAppearance.Large"
        tools:layout_editor_absoluteX="16dp"
        tools:layout_editor_absoluteY="16dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/textView11"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Male"
            android:textAppearance="@android:style/TextAppearance.Large"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="63dp" />
        <EditText
            android:id="@+id/editText6"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:textColor="@color/blue"
            />

    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">


        <TextView
            android:id="@+id/textView14"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Female"
            android:textAppearance="@android:style/TextAppearance.Large"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="209dp" />
        <EditText
            android:id="@+id/editText11"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:textColor="@color/blue"
            />

    </LinearLayout>
    <TextView
        android:id="@+id/textView533"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="How many contacts"
        android:textAppearance="@android:style/TextAppearance.Large"
        tools:layout_editor_absoluteX="16dp"
        tools:layout_editor_absoluteY="16dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/textView443"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Male"
            android:textAppearance="@android:style/TextAppearance.Large"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="63dp" />
        <EditText
            android:id="@+id/editText96"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:textColor="@color/blue"
            />

    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">


        <TextView
            android:id="@+id/textView83"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Female"
            android:textAppearance="@android:style/TextAppearance.Large"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="209dp" />
        <EditText
            android:id="@+id/editText89"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:textColor="@color/blue"
            />

    </LinearLayout>
    <TextView
        android:id="@+id/textView53333"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="How many tested"
        android:textAppearance="@android:style/TextAppearance.Large"
        tools:layout_editor_absoluteX="16dp"
        tools:layout_editor_absoluteY="16dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/textView464343"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Male"
            android:textAppearance="@android:style/TextAppearance.Large"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="63dp" />
        <EditText
            android:id="@+id/editText5796"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:textColor="@color/blue"
            />

    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">


        <TextView
            android:id="@+id/textView833"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Female"
            android:textAppearance="@android:style/TextAppearance.Large"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="209dp" />
        <EditText
            android:id="@+id/editText579"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:textColor="@color/blue"
            />

    </LinearLayout>
    <TextView
        android:id="@+id/textViewdvssd533"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="How many people positive"
        android:textAppearance="@android:style/TextAppearance.Large"
        tools:layout_editor_absoluteX="16dp"
        tools:layout_editor_absoluteY="16dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/textViedvdsw443w443"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Male"
            android:textAppearance="@android:style/TextAppearance.Large"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="63dp" />
        <EditText
            android:id="@+id/editTextdvd9696"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:textColor="@color/blue"
            />

    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">


        <TextView
            android:id="@+id/textVdhddvv83v83"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Female"
            android:textAppearance="@android:style/TextAppearance.Large"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="209dp" />
        <EditText
            android:id="@+id/editTedjsb"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:textColor="@color/blue"
            />

    </LinearLayout>

    <TextView
        android:id="@+id/textVidvdn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="How many linked"
        android:textAppearance="@android:style/TextAppearance.Large"
        tools:layout_editor_absoluteX="16dp"
        tools:layout_editor_absoluteY="16dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/textViedjhvb"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Male"
            android:textAppearance="@android:style/TextAppearance.Large"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="63dp" />
        <EditText
            android:id="@+id/editTedjhvb"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:textColor="@color/blue"
            />

    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">


        <TextView
            android:id="@+id/textVdjbv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Female"
            android:textAppearance="@android:style/TextAppearance.Large"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="209dp" />
        <EditText
            android:id="@+id/editTedub"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:textColor="@color/blue"
            />

    </LinearLayout>
    <TextView
        android:id="@+id/textViedjjd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="How many started ART"
        android:textAppearance="@android:style/TextAppearance.Large"
        tools:layout_editor_absoluteX="16dp"
        tools:layout_editor_absoluteY="16dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/textVidjvj"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Male"
            android:textAppearance="@android:style/TextAppearance.Large"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="63dp" />
        <EditText
            android:id="@+id/editTexdjbv"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:textColor="@color/blue"
            />

    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">


        <TextView
            android:id="@+id/textVdmjb"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Female"
            android:textAppearance="@android:style/TextAppearance.Large"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="209dp" />
        <EditText
            android:id="@+id/editTjdhbdsk"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:textColor="@color/blue"
            />

    </LinearLayout>
    <TextView
        android:id="@+id/textVjfbjd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="How many contacts"
        android:textAppearance="@android:style/TextAppearance.Large"
        tools:layout_editor_absoluteX="16dp"
        tools:layout_editor_absoluteY="16dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/textVrjgr"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Male"
            android:textAppearance="@android:style/TextAppearance.Large"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="63dp" />
        <EditText
            android:id="@+id/editTdnj"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:textColor="@color/blue"
            />

    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">


        <TextView
            android:id="@+id/textVitih"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Female"
            android:textAppearance="@android:style/TextAppearance.Large"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="209dp" />
        <EditText
            android:id="@+id/edittu"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:textColor="@color/blue"
            />

    </LinearLayout>


</LinearLayout>

Я также хочу сгруппировать их так, чтобы при автоматическом заполнении раздела пользователь сразу переходил к следующему разделу. например Когда он / она заполняет «сколько человек протестировало» женский 0 и мужской 0, следующий сегмент до количества контактов автоматически заполняется до 0. `

1 Ответ

0 голосов
/ 28 августа 2018

Вы можете использовать интерфейс. если это так, вы должны сначала установить addTextChangedListener() в желаемом тексте редактирования, а затем установить интерфейс одним из методов addTextChangedListener().

пример:

первый интерфейс определения

public interface mInterface {
    void onEditTextAction(String key);
}

тогда

mEditText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {

            }

            @Override
            public void afterTextChanged(Editable s) {
                  mInterface.onEditTextAction(s.toString());
            }
        });

вы можете использовать mInterface.onEditTextAction(s.toString()); в каждом понравившемся вам методе прослушивания изменений текста. он передает текст, введенный в edittext, в интерфейс для дальнейшего использования. тогда в твоей деятельности

mInterface myInterface = (mInterface) mContext;

и при последнем использовании

new  mInterface() {
    @Override
    public void onEditTextAction(String key) {
        // use edittext string here
    }
};

и меняй все, что хочешь.

...