У меня есть ресайклервью со слушателем. Я использую этот код:
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, final int position) {
//just setting the textview etc
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Model_NewProg model_newProg = ListOfExo.get(position);
openDialog(model_newProg, position);
}
});
}
и мой xml для адаптера:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="10dp"
android:layout_marginStart="10dp"
android:layout_marginTop="5dp"
card_view:cardBackgroundColor="#FFFFFF"
card_view:cardCornerRadius="5dp">
<RelativeLayout
android:layout_width="wrap_content"
android:background="?android:attr/selectableItemBackground"
android:layout_height="wrap_content">
<View
android:id="@+id/view_space"
android:layout_width="match_parent"
android:background="@color/common_google_signin_btn_text_light_pressed"
android:layout_height="5dp">
</View>
<LinearLayout
android:id="@+id/lay1"
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_below="@id/view_space"
android:layout_height="wrap_content">
<TextView
android:id="@+id/lbl_exo_name"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="40dp"
android:gravity="center"
android:textColorHint="#aeafaf"
android:textSize="15dp" />
<TextView
android:id="@+id/lbl_temps_pause"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="40dp"
android:inputType="number"
android:gravity="center"
android:textColorHint="#aeafaf"
android:textSize="15dp" />
</LinearLayout>
<LinearLayout
android:id="@+id/lay2"
android:layout_width="match_parent"
android:layout_below="@id/lay1"
android:orientation="horizontal"
android:layout_height="wrap_content">
<TextView
android:id="@+id/lbl_nbr_séries"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="40dp"
android:inputType="number"
android:gravity="center"
android:textColorHint="#aeafaf"
android:textSize="15dp" />
<TextView
android:id="@+id/lbl_nbr_rep"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="1"
android:inputType="number"
android:gravity="center"
android:textColorHint="#aeafaf"
android:textSize="15dp" />
</LinearLayout>
</RelativeLayout>
</android.support.v7.widget.CardView>
по какой-то причине, если я нажму на ячейку, слушатель на держателе не сработает. Ну, иногда это срабатывает, если я нацеливаю угол обзора текста. Но похоже, что текстовое представление «блокирует» слушателя ... Я должен попытаться добавить android: clickable = false; андроид: кликабельны = истина; , ... не работает
У кого-нибудь есть идея? Я использую этот код каждый раз, и он всегда работает