Я получил recyclerView
с несколькими предметами (ViewHolders
).В одном из них (ViewHolderItemTratamentos) я получил следующие элементы:
Когда нажата первая «кнопка добавления», через макет инфлятора,такие же элементы (editText
и button
) создаются под предыдущими.Вот так:
До сих пор все в порядке.Другая строка создается с равным editText
и равным button
, который получил другой идентификатор, R.id.btn_add_field_din
(из раздуваемого макета).Это button
прямо здесь имеет ту же логику.Он раздувает ту же схему (та же строка).Но тогда эта третья кнопка не будет работать, и она получила тот же идентификатор (R.id.btn_add_field_din
).Я тоже попробовал tag
, но это дало мне ту же проблему.
Проблема в том, что я хочу иметь много строк, как мне хочется, но с третьей кнопки setClickOnListener
потерял действие .Вы знаете, что может быть?Вот код:
АДАПТЕР:
holder.add_field_button.setOnClickListener {
holder.parent_linear_layout.apply {
val inflater = LayoutInflater.from(context)
val rowView = inflater.inflate(R.layout.used_products_field, this, false)
holder.parent_linear_layout.addView(rowView, holder.parent_linear_layout.childCount!! - 0)
holder.add_field_button.text = "-"
//remove row
removeField(holder.add_field_button, holder.parent_linear_layout)
btn_add_field_din.setOnClickListener {
val inflater = LayoutInflater.from(context)
val rowView = inflater.inflate(R.layout.used_products_field, this, false)
holder.parent_linear_layout.addView(rowView, holder.parent_linear_layout.childCount!! - 0)
btn_add_field_din.text = "-"
//remove row
removeField(btn_add_field_din, holder.parent_linear_layout)
}
}
}
РАЗМЕЩЕНИЕ (R.layout.used_products_field):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
android:id="@+id/number_edit_text"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="5"
android:focusedByDefault="true"
android:inputType="phone"/>
<Button
android:id="@+id/btn_add_field_din"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
style="@style/botaoCard"
android:textSize="24dp"
android:text="+"
android:padding="5dp"/>
</LinearLayout>