android - ClassCastException:android.support.v4.graphics.drawable.DrawableWrapperHoneycomb 无法转换为 android.graphics.drawable.LayerDrawable

标签 android classcastexception ratingbar

我正在尝试更改 RatingBar 星星的颜色,但在迁移到 Android API 23 后,我的以下代码不起作用并给我一个异常(exception)。

LayerDrawable ratingBarStars = (LayerDrawable) holder.ratingBar.getProgressDrawable();
        ratingBarStars.getDrawable(0).setColorFilter(mContext.getResources()
                                                             .getColor(R.color.accent), PorterDuff.Mode.SRC_ATOP);
        ratingBarStars.getDrawable(1).setColorFilter(mContext.getResources()
                                                             .getColor(R.color.accent), PorterDuff.Mode.SRC_ATOP);
        ratingBarStars.getDrawable(2).setColorFilter(mContext.getResources()
                                                             .getColor(R.color.accent), PorterDuff.Mode.SRC_ATOP);

错误是:

java.lang.ClassCastException: android.support.v4.graphics.drawable.DrawableWrapperHoneycomb cannot be cast to android.graphics.drawable.LayerDrawable

最佳答案

DrawableCompat.setTint(ratingBar.getProgressDrawable(),color); 评论区的 Selvin 是正确答案。

关于android - ClassCastException:android.support.v4.graphics.drawable.DrawableWrapperHoneycomb 无法转换为 android.graphics.drawable.LayerDrawable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32438681/

相关文章:

android - 无法使用 OpenCV4Android 的 Evo 4G 的两个摄像头

java - Android 按钮不起作用?

java - 如何访问另一个类的枚举类型?有没有办法使用 String (映射键)作为需要 Enum<?> 类型的方法的参数?

java - 评级栏不可点击

android - 无法从警报对话框和异常错误中的 RatingBar 获取值 (Android)

android - Native Android -> 如何创建自定义弯曲底部导航

c# - 防止在 xamarin 和 monodroid 中旋转后重新加载 Activity

java - Hibernate/Spring 4 升级后,ClassCastException Proxy36 无法转换为 SessionImplementor

java - ClassCastException Beans 绑定(bind) Java

android - 自定义 RatingBar 未显示超过 1 星