Java 如何更改Android中按钮的背景图像而不知道图像名称?
我在drawable文件夹中有一些图像文件。图像的名称类似于button1、button2、button3……还有一个计数变量,每当单击按钮时,该变量会增加1。我想做的是,每当有人单击按钮时,该按钮的图像应更改为对应于当前计数值的图像 我试过了Java 如何更改Android中按钮的背景图像而不知道图像名称?,java,android,Java,Android,我在drawable文件夹中有一些图像文件。图像的名称类似于button1、button2、button3……还有一个计数变量,每当单击按钮时,该变量会增加1。我想做的是,每当有人单击按钮时,该按钮的图像应更改为对应于当前计数值的图像 我试过了 buttons[0][0].setBackground(R.drawable.button+count); 但是它不工作您不能直接访问它。您必须使用其名称获取资源: private Drawable getDrawableResourceByName(
buttons[0][0].setBackground(R.drawable.button+count);
但是它不工作您不能直接访问它。您必须使用其名称获取资源:
private Drawable getDrawableResourceByName(int count) {
String packageName = getPackageName();
int resId = getResources().getIdentifier("button" + String.valueOf(count), "drawable", packageName);
return getResources().getDrawable(resId);
}
然后将其用作:
buttons[0][0].setBackgroundDrawable(getDrawableResourceByName(count)); //setBackground() only works with drawables from API 16
请发布您的全部代码,以便我们可以查看您可以将可提取数据与计数进行哈希映射