добавление Edittext и Button при нажатии кнопки в kotlin - PullRequest
0 голосов
/ 02 февраля 2020

моему приложению нужна кнопка добавления, которая добавляет два Edittext и еще одну кнопку каждый раз, когда они нажимают кнопку добавления, снова добавляет те же три вещи под добавленными, я прикрепил скриншот того, как мое приложение работает, мне действительно нужна помощь в этом я новичок в android разработке.

вот мой макет активности

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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"
    tools:context=".Mark_calc">

    <include
        android:id="@+id/Mark_calcTB"
        layout="@layout/toolbar"/>

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/add_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="12dp"
        android:layout_marginBottom="12dp"
        android:clickable="true"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:srcCompat="@drawable/ic_add" />

    <TextView
        android:id="@+id/Box_1"
        android:layout_width="0dp"
        android:layout_height="207dp"
        android:layout_marginStart="10dp"
        android:layout_marginTop="12dp"
        android:layout_marginEnd="10dp"
        android:background="@drawable/rounded_button"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Mark_calcTB" />

    <TextView
        android:id="@+id/Total_MarksTV"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="40dp"
        android:layout_marginTop="40dp"
        android:text="Total marks:"
        android:textColor="@android:color/white"
        android:textSize="24sp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="@+id/Box_1" />

    <TextView
        android:id="@+id/result_total_marksTV"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="52dp"
        android:layout_marginEnd="85dp"
        android:text="0"
        android:textColor="@android:color/white"
        android:textSize="24sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Mark_calcTB" />

    <TextView
        android:id="@+id/total_hours"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="44dp"
        android:layout_marginBottom="40dp"
        android:text="Total hours:"
        android:textColor="@android:color/white"
        android:textSize="24sp"
        app:layout_constraintBottom_toBottomOf="@+id/Box_1"
        app:layout_constraintStart_toStartOf="parent" />

    <TextView
        android:id="@+id/result_total_hours"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="84dp"
        android:layout_marginBottom="40dp"
        android:text="0"
        android:textColor="@android:color/white"
        android:textSize="24sp"
        app:layout_constraintBottom_toBottomOf="@+id/Box_1"
        app:layout_constraintEnd_toEndOf="parent" />

    <EditText
        android:id="@+id/mark1"
        android:layout_width="144dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="12dp"
        android:layout_marginTop="28dp"
        android:ems="10"
        android:hint="Mark%"
        android:inputType="numberSigned"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Box_1" />

    <EditText
        android:id="@+id/hours1"
        android:layout_width="144dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="24dp"
        android:layout_marginTop="28dp"
        android:ems="10"
        android:hint="Hours"
        android:inputType="numberSigned"
        app:layout_constraintStart_toEndOf="@+id/mark1"
        app:layout_constraintTop_toBottomOf="@+id/Box_1" />

    <Button
        android:id="@+id/delete_button"
        android:layout_width="35dp"
        android:layout_height="38dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="32dp"
        android:background="@drawable/ic_delete"
        app:layout_constraintStart_toEndOf="@+id/hours1"
        app:layout_constraintTop_toBottomOf="@+id/Box_1" />


</androidx.constraintlayout.widget.ConstraintLayout>

и вот скриншот как это должно работать .

1 Ответ

1 голос
/ 03 февраля 2020

Возьмите Recyclerview и, когда вы нажмете кнопку «Добавить», добавьте данные в ваш ArrayList и обновите адаптер до NotifyDataSetChanges.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...