This is the recyclerview
item layout file:
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:paddingHorizontal="16dp"
android:paddingVertical="12dp">
<com.paypal.android.p2pmobile.common.widgets.BubbleView
android:id="@+id/activity_list_item_contact_image"
android:layout_width="@dimen/ui_size_xl_2"
android:layout_height="@dimen/ui_size_xl_2"
android:layout_marginStart="4dp"
android:layout_marginTop="4dp"
tools:ignore="ContentDescription"
app:initialsTextSize="@dimen/text_size_primary"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<TextView
android:id="@+id/activity_list_item_name"
style="@style/activity_list_item_name"
android:layout_width="0dp"
android:layout_height="@dimen/ui_size_sm"
android:gravity="center|start"
android:text="Abc India Pvt. Ltd."
tools:ignore="HardcodedText"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toEndOf="@id/activity_list_item_contact_image"
app:layout_constraintEnd_toStartOf="@id/activity_list_item_amount"
android:layout_marginHorizontal="16dp"/>
<LinearLayout
android:id="@+id/activity_list_item_status_container"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center"
app:layout_constraintTop_toBottomOf="@+id/activity_list_item_name"
app:layout_constraintStart_toEndOf="@id/activity_list_item_contact_image"
app:layout_constraintEnd_toStartOf="@id/activity_list_item_amount"
android:layout_marginHorizontal="16dp" >
<com.paypal.uicomponents.UiBadge
android:id="@+id/activity_list_item_badge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="visible"
android:layout_marginEnd="6dp"
android:text="Due"
app:uiStrokeWidth="0dp"
style="@style/UiBadge.Warning"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/activity_list_item_date"
style="@style/activity_list_item_details"
android:layout_width="wrap_content"
android:layout_height="@dimen/ui_size_xs"
android:gravity="center|start"
android:text="Yesterday"
tools:ignore="HardcodedText" />
<ImageView
android:id="@+id/activity_list_item_status_icon"
android:layout_width="@dimen/ui_size_xs"
android:layout_height="@dimen/ui_size_xs"
android:layout_marginEnd="6dp"
android:scaleType="fitXY"
tools:ignore="ContentDescription"
app:srcCompat="@drawable/ui_purchase_protection_alt" />
<TextView
android:id="@+id/activity_list_item_status_text"
style="@style/activity_list_item_details"
android:layout_width="match_parent"
android:layout_height="18dp"
android:gravity="center|start"
android:text="Request Received"
tools:ignore="HardcodedText" />
</LinearLayout>
<TextView
android:id="@+id/activity_list_item_notes"
style="@style/activity_list_item_details"
android:layout_width="0dp"
android:maxHeight="@dimen/ui_size_lg"
android:layout_marginTop="4dp"
android:maxLines="2"
android:text="Personal notes - My checks haven't cleared yet hope u could loan me some money say around $40."
tools:ignore="HardcodedText"
app:layout_constraintTop_toBottomOf="@+id/activity_list_item_status_container"
app:layout_constraintStart_toEndOf="@id/activity_list_item_contact_image"
app:layout_constraintEnd_toStartOf="@id/activity_list_item_amount"
android:layout_marginHorizontal="16dp" />
<TextView
android:id="@+id/activity_list_item_status_desc"
style="@style/activity_list_item_details"
android:layout_width="0dp"
android:maxHeight="@dimen/ui_size_lg"
android:layout_marginTop="6dp"
android:ellipsize="end"
android:maxLines="2"
android:text="Abc notes - Waiting for your request to be accepted. Please allow us some time to do this."
tools:ignore="HardcodedText"
app:layout_constraintTop_toBottomOf="@+id/activity_list_item_notes"
app:layout_constraintStart_toEndOf="@id/activity_list_item_contact_image"
app:layout_constraintEnd_toStartOf="@id/activity_list_item_amount"
android:layout_marginHorizontal="16dp" />
<TextView
android:id="@+id/activity_list_item_amount"
style="@style/UiTextView.Xl.Regular"
android:layout_width="wrap_content"
android:layout_height="@dimen/ui_size_sm"
android:layout_alignParentEnd="true"
android:gravity="center|end"
android:text="$149.99"
android:textColor="#737C7F"
android:textSize="18sp"
tools:ignore="HardcodedText"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
And this layout looks like this:
This layout looks fine when I implement the recyclerview adpater in normal way. But, When use View Binding
in the recyclerview adapter, only those elements whose layout_width
not set to 0dp
is visible. UI elements with 0dp
is not visible.
This problem will be solved if I use RelativeLayout
instead of ConstarintLayout. But, I want to use
ConstraintLayout`.
So, what could be the problem? How can I solve this?
I solved the problem. I replaced the code in the onCreateViewHolder()
from this
ActivitySummaryListTxnItemV2Binding.inflate(LayoutInflater.from(container.getContext()));
to this:
ActivitySummaryListTxnItemV2Binding.inflate(LayoutInflater.from(container.getContext()), container, false);