Шаг 1: Запишите все представления в XML-файл и скройте «ингредиент» EditText
<LinearLayout android:id="@+id/ingredients_line_layout"
android:layout_below="@+id/title_line_layout"
android:layout_height="wrap_content"
android:layout_margin="@dimen/layout_margin"
android:layout_width="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<EditText
android:hint="@string/quantity"
android:id="@+id/quantityField"
android:inputType="number"
android:layout_height="match_parent"
android:layout_margin="@dimen/boxes_margin"
android:layout_width="wrap_content" />
<EditText
android:id="@+id/ingredientsField"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_margin="@dimen/boxes_margin"
android:hint="@string/ingredients"
android:visibility="gone"
android:inputType="text" />
<com.google.android.material.button.MaterialButton
android:id="@+id/add_ingredient_btn"
android:layout_height="wrap_content"
android:layout_margin="@dimen/boxes_margin"
android:layout_width="wrap_content"
android:text="@string/add"
app:icon="@drawable/ic_add_ingr_btn" />
</LinearLayout>
Шаг 2: Зарегистрировать прослушивателя при нажатии на кнопку добавления.
addIngredientBtn.setOnClickListener(this);
Шаг 3: Видимый «ингредиент» при нажатии кнопки
@Override
public void onClick(View v) {
ingredientsField.setVisibility(View.VISIBLE);
}
Таким образом, вы можете динамически добавлять EditText.