Android RatingBar:getProgressDrawable 未转换为正确的类

2023-12-10

我在用

Android RatingBar更改星星颜色

这行代码

    LayerDrawable stars = (LayerDrawable) rating_bar.getProgressDrawable();

在我的 Nexus 4 模拟器 API v21 上运行良好。 在我的 Galaxy S4 API v19 上尝试相同的代码时,我收到以下错误消息:

 Caused by: java.lang.ClassCastException: android.support.v7.internal.widget.TintDrawableWrapper cannot be cast to android.graphics.drawable.LayerDrawable

怎么了?

我正在使用最新的构建工具 22 进行构建,我的目标 API 也是 22。


错误消息中清楚地解释了发生的情况:

TintDrawableWrapper cannot be cast to android.graphics.drawable.LayerDrawable

支持库创建一个包装器以处理复古兼容性,您只需要考虑它即可。看看 lib 实现,它可能包含一个LayerDrawable.

您需要执行以下操作:

LayerDrawable stars = getProgressDrawable(rating_bar);
}

private LayerDrawable getProgressDrawable(RatingBar ratingBar) {
  if (Build.VERSION >= LOLLIPOP) {
    return (LayerDrawable) ratingBar.getProgressDrawable();
  } else {
    // fetch the LayerDrawable based on Google's support implementation,  
    // probably a simple findViewById()
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android RatingBar:getProgressDrawable 未转换为正确的类 的相关文章

随机推荐

  • 疯狂邮件方法不起作用?

    在配置菜单下的 spree 管理面板中 我配置了邮件 smtp 端口等 创建新邮件方法后 我按下测试邮件按钮 我收到以下警报消息 测试邮件发送成功 甚至终端窗口也显示电子邮件发送成功消息 但是邮件未送达相应地址 发送测试邮件后控制台日志 S
  • 将装置转换为 Rails 中的 Factory Girl

    我想将我的装置迁移到 Rails 中的 Factory Girl 有没有简单的方法可以转换factories rb 文件中的所有yml 文件 我假设您想要做的是找到一个脚本来查看您的模型并为它们生成工厂 我尝试过一次 使用除了factory
  • 如何选择最大连接池大小?

  • 如何向彩色图像添加噪声 - Opencv

    我正在尝试向图像添加噪声 然后对其进行降噪以测试我的降噪算法 所以对于基准我指的是这个在线测试样品 我正在尝试复制噪声模型 参考这个线程1 2我正在像这样向图像添加噪点 Mat mSource Bgr mSource Bgr imread
  • 如何在二叉搜索树中迭代添加元素?

    public void Insert int value if value lt Data if LeftNode null LeftNode new TreeNode value else LeftNode Insert value el
  • build.gradle 中的 gradle 任务方法语法

    我是 gradle 和 groovy 的新手 我正在阅读 Gradle 的 usr 指南 并对任务方法有一些语法问题 task intro dependsOn hello doLast println I m Gradle 问题1 上面的代
  • Excel / VBA 通过交叉引用 2 个不同的工作表然后删除 1 行来删除重复行

    我有 2 个单独的工作表 我们称它们为工作表 A 工作表 B 我在工作表 B 中有数据 该数据也在工作表 A 中 我想找到那些相等的行并将它们从工作表 B 中删除 我无法合并两张表并使用过滤器 因为我正在执行动态 SQL 来查询不同的数据
  • 修改现有的通用存储库模式以添加选择

    我想修改现有的通用存储库以添加可选select类似于 Entity Framework Core 中的功能 期望的结果 private readonly IUnitOfWork unit without using select funct
  • htaccess,将所有请求重定向到 https://

    使用 htaccess 我需要重定向来自 https www domain to https domain 假设您在 Apache 配置中启用了 mod rewrite 则您的 htaccess 文件中将需要它 RewriteEngine
  • GCC 上 x86 intel asm 中方括号前的偏移量

    从我找到的所有文档中 没有提到类似的语法offset var offset2 采用 Intel x86 语法 但 GCC 具有以下标志 gcc S hello c o masm intel 对于这个程序 include
  • Spring Boot REST Api 中的一对多关系

    我正在使用 Spring Boot 创建 REST API 在此 API 中 我之间有一对多关系check in and Guests 我创建了一个用于签入的控制器并使用 spring JPA 的保存功能 保存方法正在更新两者checkin
  • AMSupportURLConnectionDelegate 类在两者中均实现

    我正在尝试在 M1 mac 上构建一个 flutter 应用程序并收到以下错误 flutter build ios release Building XXX for device ios release Automatically sign
  • 替换 pandas.datetime 列中的年份

    我有一个数据框 其中包含使用 pd to datetime 转换的日期列 当我检查数据时 我发现很少有这些日期的年份被提到为 2216 年 这应该是 2016 年 您能帮我将这些日期的年份从 2216 年更改为 2016 年吗 Date 0
  • 每次调用类中的方法时运行一个函数

    我正在尝试为类中的每个函数创建一个每次调用函数时都会调用的方法 该类是另一个类的子类 在我的具体情况下 它是list class Foo another class def init self bar self bar bar super
  • 从mysql中没有pk或id或唯一列的表中删除重复记录

    我需要从我的一个表中删除所有重复的记录 问题是没有任何 id 或唯一或键列 所以我不能做这样的事情 delete from tbl using tbl tbl t2 where tbl locationID t2 locationID an
  • 不显示 asp 错误

    我已将 sql 数据库从一台服务器移动到新服务器 分离 附加 现在我遇到一些奇怪的行为 因为它不起作用但没有显示错误 这是代码
  • Python:并行运行嵌套循环、2D 移动窗口

    我处理地形数据 对于一个特定问题 我用 Python 编写了一个函数 它使用特定大小的移动窗口来快速浏览矩阵 高程网格 然后我必须对此窗口执行分析 并将窗口中心的单元格设置为结果值 我的最终输出是一个与原始矩阵大小相同的矩阵 该矩阵已根据我
  • 脚本在 Google 电子表格中导入本地 CSV

    如何从本地硬盘导入我拥有的 Google 电子表格文档中的 CSV 文件 我想通过脚本复制文件 gt 导入命令 这类似于 DocList 的错误答案 但您可以直接从 blob 中获取数据 解析它 然后将其导入电子表格 而不是使用 DocsL
  • 循环 AsyncTask 类必须声明为抽象或实现抽象方法

    我试图循环遍历表中的一些记录 并为每个记录使用一个值作为参数 获取一个网页来解析一些html 获取一些 JSON 数据进行解析并从中获取几个值 它们本身都可以完美工作 但我无法让它们都在 AsyncTask 中工作 我这里有代码 我知道我可
  • Android RatingBar:getProgressDrawable 未转换为正确的类

    我在用 Android RatingBar更改星星颜色 这行代码 LayerDrawable stars LayerDrawable rating bar getProgressDrawable 在我的 Nexus 4 模拟器 API v2