我正在为 Android 编写一个问答应用程序,它由问题和图像选项组成。每个问题都有 2 个图像选项,它们是设置了不同背景的 Android 按钮。
只有两个 OnClickListener,我目前正在更改背景,如下所示:
button1.setBackground(R.drawable.image1)
我有 30 多个不同的图像将用作按钮的背景,并且使用硬编码的图像名称(例如 image1.png)调用上面的代码似乎效率低下。
我想让这一切都通过一个非常有效的函数来实现,如下所示:
nextQuestion(Question q)
{
display.setText("" + q.getQ()) ; // setting a new question to TextView called display
button1.setBackground(R.drawable.(q.getRandom())) ; //change background off of variable
button1.setBackground(R.drawable.(q.correctAnswerIndex)) ; // one is correct, one random
}
但是我找不到通过 setBackground()
使用变量的方法
有什么办法可以做我上面写的事情吗?预先感谢!
最佳答案
int resID = getResources().getIdentifier(icon, "drawable", getPackageName());
iV.setImageResource(resID);
将 resID 设置为您的“q”值并根据需要使用!
“icon”是可绘制对象的名称
关于java - Android:从变量设置按钮的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19895110/