无法在RecyclerView中设置评分栏

时间:2019-12-25 16:24:28

标签: android ratingbar

很简单,但是我找不到真正的原因。

我正在尝试在回收者视图项目中将等级设置为等级栏。但这不起作用,在滚动回收器视图时显示错误的结果(更改颜色)。

XML:

<RatingBar
    android:id="@+id/ratingBar"
    style="@style/Widget.AppCompat.RatingBar.Small"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:clickable="false"
    android:gravity="center"
    android:isIndicator="false"
    android:numStars="5"
    android:stepSize="1.0"
    tools:rating="2" />

在适配器中

    inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
            fun bind(item: MyItem, position: Int) = with(itemView) {
             ratingBar.rating = item.rating // the value is 5f

     val drawable = ratingBar.progressDrawable
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
                drawable.colorFilter = BlendModeColorFilter(Color.parseColor("#B3055505"), BlendMode.SRC_ATOP)
            } else {
                drawable.setColorFilter(Color.parseColor("#B3055505"), PorterDuff.Mode.SRC_ATOP);
            }
           }
        }

添加了这一行来解决该问题:

override fun getItemViewType(position: Int): Int {
        return position
    }

我在这里做错了什么?

0 个答案:

没有答案