java - 根据字符串变量的值动态更改自定义按钮(xml文件)的背景

标签 java android xml

我在 Activity 中有一个自定义按钮b。我已经为该按钮的背景定义了 6 个 xml 文件。现在我想根据可以有 6 个值的字符串 str 将这 6 个 xml 文件之一设置为 b 的背景。

例如

str = "A" 那么,按钮应该有第一个 xml 文件作为背景。

str = "B" 那么,按钮应该有第二个 xml 文件作为背景。

str = "C" 那么,按钮应该有第三个 xml 文件作为背景。

等等。

我尝试将所有这 6 个 xml 文件放入 drawable 文件夹中,并且使用了 b.setBackground(R.drawable.custom_button_1),但出现错误因为它需要一个 int 值,并且 xml 文件不被视为整数。\

是否有任何适当的方法可以实现这一目标?

如果没有,请建议我另一种方法来实现这一目标。

最佳答案

SetBackground需要drawable而不是您提到的int。 您可以使用

b.setBackground (ContextCompat.getDrawable(context, R.drawable.custom_button_1));

b.setBackgroundResource(R.drawable.custom_button_1);

关于java - 根据字符串变量的值动态更改自定义按钮(xml文件)的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46256557/

相关文章:

android - 获取 smack 中最近消息的发送状态

android - 如何为已添加的依赖项删除 "cannot resolve symbol"

javascript - 如何使用 NodeJS 将 XML 数据推送到 Azure 服务总线

R - 使用 rvest 包进行抓取

Java 编译器错误。 For 循环不是语句

java - Java 中的 Math.sin 和 Math.cos 发生了什么?以及如何修复它?

android - 显示当前聚焦的 View (即使没有布局选择器)

xml - 从 XDocument 中删除 XElement

java - 如何在 Cucumber 报告中为所采取的每项操作嵌入屏幕截图?

java - Drools 从对象属性收集列表