我在recyclerview中有一个cardview,如果已经回答了,就不能再点击了,我尝试用isclickable false,但是还是可以点击
这是我的代码
val answer = kategori.answer
if(answer.equals("answered")){
holder.card_kategori.setCardBackgroundColor(Color.parseColor("#EF9A9A"))
holder.card_kategori.setEnabled(false)
holder.card_kategori.setClickable(false)
}else{
holder.card_kategori.setClickable(true)
holder.card_kategori.setEnabled(true)
}
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="60dp"
card_view:cardCornerRadius="6dp"
android:id="@+id/card_kategori"
android:foreground="?android:attr/selectableItemBackground"
card_view:cardElevation="3dp"
card_view:cardUseCompatPadding="true"
card_view:cardPreventCornerOverlap="false">
<TextView
android:id="@+id/kategori_soal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="4"
android:padding="10dp"
android:layout_gravity="center"
android:text="Approval Layout"
android:textSize="@dimen/textsize_big"
android:textStyle="bold"
android:fontFamily="@font/lato"/>
</android.support.v7.widget.CardView>
最佳答案
您应该使用isClickable
& isEnabled
Matcher isClickable () Returns a matcher that matches Views that are clickable.
Matcher isEnabled () Returns a matcher that matches Views that are enabled.
终于
if(answer.equals("answered")){
holder.card_kategori.setCardBackgroundColor(Color.parseColor("#EF9A9A"))
holder.card_kategori.isEnabled=false
holder.card_kategori.isClickable = false
}else{
holder.card_kategori.isClickable = true
holder.card_kategori.isEnabled=true
}
关于java - android中cardview中的Clickable false无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58479933/