RecyclerView внутри recyclerview показывает только последние элементы родительского recyclerview

#android #performance #android-studio #android-layout #android-recyclerview

#Android #Производительность #android-studio #android-макет #android-recyclerview

Вопрос:

У меня есть дочерний recyclerview внутри родительского recyclerview.Только последний элемент родительского recyclerview показывает дочерний recyclerview.Для лучшего понимания посмотрите на картинку нажмите здесь, чтобы увидеть изображение

В классе адаптера я уже использую customlayoutmanager, но ни одно решение не решит мою проблему.Внутри адаптера метод onBindViewHolder java-код

         holder.replyRecyclerView.setHasFixedSize(true);
    RecyclerView.LayoutManager layoutManager = new CustomLinearLayoutManager(mContext);
    holder.replyRecyclerView.setLayoutManager(layoutManager);
    layoutManager.isAutoMeasureEnabled();
    commentReplyList = new ArrayList<>();
    commentReplayAdapter = new CommentReplyAdapter(mContext,commentReplyList);
    holder.replyRecyclerView.setAdapter(commentReplayAdapter);
    readCommentReply(comment.getCommentId(),holder.viewRepliesTV);
  

Мой XML-файл parent_layout_item

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp">

<de.hdodenhof.circleimageview.CircleImageView
    android:id="@ id/commentImageProfile"
    android:layout_width="35dp"
    android:layout_height="35dp"
    android:layout_alignParentStart="true"
    android:layout_marginStart="12dp"
    android:layout_marginTop="5dp"
    android:contentDescription="@string/image" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_toEndOf="@id/commentImageProfile"
    android:orientation="vertical">

    <LinearLayout
        android:id="@ id/commentLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_marginStart="8dp"
        android:orientation="vertical"
        android:paddingStart="2dp"
        android:paddingTop="4dp"
        android:paddingEnd="4dp"
        android:paddingBottom="2dp">

        <TextView
            android:id="@ id/commentUserName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="5dp"
            android:textSize="13sp" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="4dp"
            android:orientation="horizontal">

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_weight="1"
                android:orientation="horizontal">

                <ImageView
                    android:id="@ id/commentReaction"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginEnd="4dp"
                    android:background="@drawable/ic_comment_love" />

                <TextView
                    android:id="@ id/commentLoves"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical"
                    android:textSize="12sp" />

            </LinearLayout>

            <TextView
                android:id="@ id/replyTV"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_weight="1"
                android:text="Reply"
                android:textSize="12sp" />

            <TextView
                android:id="@ id/commentTime"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginEnd="12dp"
                android:layout_weight="1"
                android:gravity="end"
                android:text="1d"
                android:textSize="12sp" />

        </LinearLayout>

        <RelativeLayout
            android:id="@ id/replyView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:visibility="gone">

            <EditText
                android:id="@ id/sendReplyET"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginEnd="5dp"
                android:background="@drawable/comment_reply_background"
                android:inputType="textMultiLine"
                android:padding="8dp"
                android:paddingStart="8dp"
                android:paddingEnd="35dp"
                android:textSize="13sp" />

            <ImageView
                android:id="@ id/sendReply"
                android:layout_width="30dp"
                android:layout_height="30dp"
                android:layout_alignParentEnd="true"
                android:layout_marginEnd="5dp"
                android:padding="5dp"
                android:src="@drawable/ic_send_reply_twenty_padding" />

        </RelativeLayout>

    </LinearLayout>

    <TextView
        android:id="@ id/viewRepliesTV"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="50dp"
        android:layout_marginTop="6dp"
        android:textSize="12sp"
        android:visibility="gone" />

    <androidx.recyclerview.widget.RecyclerView
        android:id="@ id/replyRecyclerView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="4dp"
        android:paddingStart="40dp"
        android:paddingEnd="1dp" />

</LinearLayout>
  

Ответ №1:

Я бы предложил использовать эту библиотеку. У вас могут быть многоуровневые RecyclerViews. Вот предварительный просмотр результата.