如何将颜色资源 id 的 int 数组从 array.xml 传递到 SwipeRefreshLayout.setColorSchemeResources

2024-03-19

我已经让 Android 的 SwipeRefreshLayout 正常工作,并尝试自定义整个应用程序中所有拉动刷新的颜色。为了遵循 DRY 原则,我尝试将所需的颜色移动到 array.xml,如下所示:

<resources>
    <array name="swipeRefreshColors">
        <item>@color/pink</item>
        <item>@color/green</item>
    </array>
</resources>

但是,当我尝试将它们导入到滑动中进行刷新时:

swipeRefreshLayout.setColorSchemeResources(R.array.swipeRefreshColors);

我收到一个 Resources$NotFoundException:

android.content.res.Resources$NotFoundException: Resource ID #0x7f060001
            at android.content.res.Resources.getValue(Resources.java:1233)
            at android.content.res.Resources.getColor(Resources.java:887)
            at android.support.v4.widget.SwipeRefreshLayout.setColorSchemeResources(SwipeRefreshLayout.java:477)

我尝试过一些方法,例如对 SwipeRefreshLayout 代码进行子类化并对颜色进行硬编码,但这绝对是一种黑客行为。必须有一种方法可以引用 Activity 中的颜色数组来自定义它。

任何帮助将不胜感激!


原来我漏掉了两个关键部分。

错误代码:

swipeRefreshLayout.setColorSchemeResources(R.array.swipeRefreshColors);

正确代码:

swipeRefreshLayout.setColorSchemeColors(getResources().getIntArray(R.array.swipeRefreshColors));

我缺少两件事。

1)我需要表明我正在获得IntArray来自我的 array.xml 文件。这是通过getResources().getIntArray(R.array.swipeRefreshColors).

答案已被删除,但感谢之前提出此建议的人。

2)错误的关键部分是我必须使用setColorSchemeColors代替setColorSchemeResources。我猜想在构建过程中的某个时刻,我在 Array 中的引用被转换为显式颜色值。

希望这可以帮助别人!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将颜色资源 id 的 int 数组从 array.xml 传递到 SwipeRefreshLayout.setColorSchemeResources 的相关文章

随机推荐

  • C# - 如何将单个 Excel 工作表从一个工作簿复制到另一个工作簿?

    我需要将工作表从一个工作簿复制到另一个工作簿中 但我有点卡住了 前提是我有一个 主 工作簿 其中存储了许多报告的模板 然后我需要创建特定工作表的空白副本并将其添加到新工作簿中 这是我到目前为止所拥有的 private void Create
  • 无法在 Swift 中使用缓存生成视频缩略图

    一直在努力让它发挥作用 我正在生成视频缩略图 但它在集合视图中加载非常重 我想缓存它们 但找不到解决方案 这是我正在使用的代码 func previewImageFromVideo url NSURL gt UIImage let asse
  • 将现有项目转换为可定制的框架

    我是一名 Android 开发人员 我需要创建 IOS 应用程序 所以我这样做了 应用程序现在已经准备好了 但现在我想把它变成一个库 框架 我的意思是每个客户的不同项目将使用相同的代码库 他们将能够更改应用程序的文本字符串和颜色 其余的业务
  • 使用 FakeItEasy 模拟方法内的方法

    如何模拟 伪造在另一个函数中调用的函数的结果 通常 Test2 是一个我不喜欢获取真实数据的 DataAccess 方法 我喜欢我的单元测试测试的是业务逻辑 这就是我现在所拥有的 但它根本不起作用 Sum 始终被断言为 5 public i
  • 在具有序列化问题的 Dataframe 上调用 UDF

    我在 UDF 博客上查看了一些似乎有效的示例 但实际上当我运行它们时 它们给出了臭名昭著的任务不可序列化错误 我觉得奇怪的是 这篇文章已经发表了 却没有提到这一点 运行 Spark 2 4 代码 非常简单 Spark 中一定有什么变化 de
  • 查询 MediaStore:连接缩略图和图像(在 ID 上)

    我正在为 Android 开发一个 照片库 类型的应用程序 它最初是作为 Udacity 开发 Android 应用程序的最终项目 因此它的整体结构 活动 内容提供者等 应该非常健全 并且已被 Udacity Google 接受认证 然而
  • Android中如何混淆字符串?

    我想混淆我的 api url 我可以使用 Proguard 吗 如果是 我该怎么做 以及如何在 Proguard 配置文件中添加类来混淆类中存在的方法和变量 您现在可以使用新的 gradle 插件 库来有效地混淆类中的字符串 请在此处查看
  • 如何使用 Spark 处理一系列 hbase 行?

    我正在尝试使用 HBase 作为 Spark 的数据源 因此 第一步是从 HBase 表创建 RDD 由于 Spark 使用 hadoop 输入格式 我可以找到一种通过创建 rdd 来使用所有行的方法http www vidyasource
  • 将 HTML 转换为图像

    Duplicate 创建网页缩略图的最佳方法是什么 https stackoverflow com questions 65078 what is the best way to create a web page thumbnail 我想
  • 如何检查所选文本是否为粗体(contenteditable)

    我正在使用内置的 html 实现自定义文本编辑器contenteditable特征 我需要知道用户何时在文本编辑器上选择文本 无论它是否为粗体 这是我现在所拥有的 HTML
  • 私有区块链与 Hashgraph、Ripple、BigChainDb

    我一直在研究不同区块链的一些用例 最后我得出的结论是 建立一个私有区块链相当于拥有一个分布式数据库 在其之上添加了区块链概念 如不可篡改 数字签名等 例如 Bigchaindb 好吧 如果我们确实需要智能合约功能 那么分布式数据库可能无法工
  • Android:无论如何想知道是否选中了“未知来源”吗?

    有什么方法可以查明用户是否选中了 应用程序设置 菜单中的 未知来源 复选框 您可以使用INSTALL NON MARKET APPS http developer android com reference android provider
  • MVC3 AntiForgeryToken 在 Ajax 登录时中断

    ASP NET MVC 的防伪令牌机制是基于当前HttpContext User 当您调用时 它使用该值来构造令牌Html AntiForgeryToken 基本上是可以的 见解释最后一段在这里 https stackoverflow co
  • Hibernate 的浮点映射精度

    我试图在 MySQL 数据库中存储浮点数 但 Hibernate 获得的值与列中存储的值不同 在我的应用程序中我计算 float subtotal 160 5f float ammount float subtotal 0 1f this
  • 使 div 始终停留在页面内容的底部,即使有滚动条

    我希望实现与以下问题相反的行为 CSS 将 Div 推到页面底部 https stackoverflow com questions 2140763 css push div to bottom of page 也就是说 当内容溢出到滚动条
  • 在浏览器中访问 HTTP/2 预告片

    当前是否有任何浏览器支持在 HTTP 2 响应中访问预告片 例如 最新的 Fetch API 规范提到预告片是通过 Response trailer 公开的 有支持该功能的浏览器吗 您可以在以下位置找到测试用例http wpt fyi fe
  • sed - 执行替换后从列出的值中删除最后一个逗号

    我在用着sed替换我的文件中的新行 n with 效果很好 但是在我的最后一项中 我不想要 我怎样才能删除这个 Example sed s n g myfile out gt myfile csv Output 1 2 3 4 5 6 那么
  • 提交 iOS 版本更新,无需重新上传屏幕截图和应用预览

    我想提交 iOS 应用程序的更新 但这似乎需要提交新版本 其中需要重新输入所有信息 屏幕截图 视频等 我找不到任何明确说明可以为已批准的现有版本单独提交新版本的内容 这可能吗 如果没有 有没有办法在 iTunesConnect 中复制所有先
  • 在 WordPress 中为头像图像添加类

    我一直在尝试使用 get avatar 在每个帖子下显示作者的头像在 WordPress 模板中使用应用类 但我找不到将 class pic 2 添加到 Gravatar 图像代码的方法 甚至找不到将 Gravatar 高度和宽度分别更改为
  • 如何将颜色资源 id 的 int 数组从 array.xml 传递到 SwipeRefreshLayout.setColorSchemeResources

    我已经让 Android 的 SwipeRefreshLayout 正常工作 并尝试自定义整个应用程序中所有拉动刷新的颜色 为了遵循 DRY 原则 我尝试将所需的颜色移动到 array xml 如下所示