In my current Android application I have a MaterialCardView
that wraps a TextView
that I wish to be copyable e.g. I use
android:textIsSelectable="true"
However, I also need to know when the MaterialCardView
is clicked as its within a RecyclerView
Item layout.
My onClickListener
for the MaterialCardView
is only triggered when I remove the android:textIsSelectable="true"
attribute from the child TextView
.
here is the complete RecyclerView Item layout
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/item_bibtext_cardview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
card_view:cardBackgroundColor="?attr/colorSurface"
card_view:cardCornerRadius="10dp"
card_view:cardElevation="5dp"
card_view:cardPreventCornerOverlap="false"
card_view:cardUseCompatPadding="true"
card_view:contentPadding="10dp">
<TextView
android:id="@+id/bibtex"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textIsSelectable="true"
android:background="?android:attr/selectableItemBackground"
android:textColor="?android:attr/textColorPrimary" />
</com.google.android.material.card.MaterialCardView>
How can I both detect clicks on the Parent MaterialCardView
and have the child TextView
selectable?