#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. Вот предварительный просмотр результата.