问题解决
通过点击改变其状态实现字体颜色的变化。
xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/text_blue" android:state_selected="true" />
<item android:color="@color/text_blue" android:state_pressed="true" />
<item android:color="@color/text_blue" android:state_activated="true" />
<item android:color="@color/text_black" />
</selector>
kt代码:
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
val nameTextView = holder.itemView.findViewById<TextView>(R.id.item_name)
nameTextView.text = list[position].name
// 通过改变是否被select来实现文本颜色的变化
nameTextView.isSelected = selectedPosition == position
}
isSelected
对应android:state_selected