0

Мне нужно по нажатию на кнопку изменить tools:listitem на note_rv_item_2.xml в RecyclerView в моем основном activity. Как я могу это сделать в коде и могу ли вообще?

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/mainRL"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/theme2"
    tools:context=".MainActivity">
&lt;androidx.recyclerview.widget.RecyclerView
    android:id=&quot;@+id/notesRV&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;618dp&quot;
    android:layout_above=&quot;@+id/addBtn&quot;
    android:layout_alignParentTop=&quot;true&quot;
    android:layout_marginTop=&quot;120dp&quot;
    android:layout_marginBottom=&quot;20dp&quot;
    android:overScrollMode=&quot;never&quot;
    tools:listitem=&quot;@layout/note_rv_item_1&quot; /&gt;

</RelativeLayout>

note_rv_item_1.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/card"
    android:layout_width="match_parent"
    android:layout_height="55dp"
    android:layout_marginStart="10dp"
    android:layout_marginTop="5dp"
    android:layout_marginEnd="10dp"
    android:layout_marginBottom="5dp"
    app:cardBackgroundColor="@color/grey"
    app:cardCornerRadius="10dp"
    app:cardElevation="0dp">
&lt;RelativeLayout
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;wrap_content&quot;
    android:layout_margin=&quot;4dp&quot;&gt;

    &lt;TextView
        android:id=&quot;@+id/idTVNote&quot;
        android:layout_width=&quot;381dp&quot;
        android:layout_height=&quot;50dp&quot;
        android:layout_alignParentTop=&quot;true&quot;
        android:layout_alignParentBottom=&quot;true&quot;
        android:layout_toLeftOf=&quot;@id/idIVDelete&quot;
        android:layout_toRightOf=&quot;@id/idIVStar&quot;
        android:fontFamily=&quot;@font/montserrat_regular&quot;
        android:paddingLeft=&quot;8dp&quot;
        android:paddingTop=&quot;11dp&quot;
        android:text=&quot;Note&quot;
        android:textColor=&quot;@color/white&quot;
        android:textSize=&quot;18sp&quot; /&gt;

    &lt;ImageView
        android:id=&quot;@+id/idIVDelete&quot;
        android:layout_width=&quot;30dp&quot;
        android:layout_height=&quot;30dp&quot;
        android:layout_alignParentEnd=&quot;true&quot;
        android:layout_alignParentRight=&quot;true&quot;
        android:layout_centerVertical=&quot;true&quot;
        android:layout_marginStart=&quot;3dp&quot;
        android:layout_marginTop=&quot;3dp&quot;
        android:layout_marginEnd=&quot;3dp&quot;
        android:layout_marginBottom=&quot;3dp&quot;
        android:padding=&quot;3dp&quot;
        android:src=&quot;@drawable/delete&quot; /&gt;

    &lt;CheckBox
        android:id=&quot;@+id/idIVStar&quot;
        android:layout_width=&quot;30dp&quot;
        android:layout_height=&quot;30dp&quot;
        android:layout_alignParentStart=&quot;true&quot;
        android:layout_alignParentRight=&quot;true&quot;
        android:layout_centerVertical=&quot;true&quot;
        android:layout_marginStart=&quot;10dp&quot;
        android:layout_marginTop=&quot;3dp&quot;
        android:layout_marginRight=&quot;350dp&quot;
        android:layout_marginBottom=&quot;3dp&quot;
        android:button=&quot;@drawable/check_box&quot;
        android:buttonTint=&quot;@color/white&quot;
        android:padding=&quot;3dp&quot; /&gt;

&lt;/RelativeLayout&gt;

</androidx.cardview.widget.CardView>

Вот сюда мне нужно вписать изменение параметра tools:listitem на note_rv_item_2.xml в моём MainActivity.kt, но я не знаю как это сделать и решения в интернете не нашёл.

themeBtn.setOnClickListener {

}

  • Пожалуйста, уточните вашу конкретную проблему или приведите более подробную информацию о том, что именно вам нужно. В текущем виде сложно понять, что именно вы спрашиваете. – Дух сообщества Apr 15 '22 at 14:48
  • @Духсообщества внизу вопроса дополнил – Denys Lopata Apr 15 '22 at 15:11
  • 1
    Параметры с префиксом tools: предназначены исключительно для предпросмотра в студии, они никак не влияют на работу приложения на устройстве. Поэтому сформулируйте в вопросе чего вы хотите этим добиться. Разметку элемента списка вы задаёте в адаптере, там же её и нужно менять. – woesss Apr 16 '22 at 04:27
  • @woesss как это сделать в адаптере? Я просто новичок в этом. Мне нужно заменить файл отображения listitem(ну или как-то по другому, если это невозможно) по нажатию кнопки. – Denys Lopata Apr 16 '22 at 13:03
  • Для всех элементов разом или того, который кликнули? Возможное решение здесь: https://ru.stackoverflow.com/a/470214/11515 – woesss Apr 16 '22 at 15:51
  • Для RecyclerView заменить note_rv_item_1.xml на другой файл note_rv_item_2.xml в listitem. Данные в RecyclerView подгружаются с базы данных и все элементы будут одинаковые – Denys Lopata Apr 16 '22 at 16:05

0 Answers0