我在 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/