Java 如何更改Android中按钮的背景图像而不知道图像名称?

Java 如何更改Android中按钮的背景图像而不知道图像名称?,java,android,Java,Android,我在drawable文件夹中有一些图像文件。图像的名称类似于button1、button2、button3……还有一个计数变量,每当单击按钮时,该变量会增加1。我想做的是,每当有人单击按钮时,该按钮的图像应更改为对应于当前计数值的图像 我试过了 buttons[0][0].setBackground(R.drawable.button+count); 但是它不工作您不能直接访问它。您必须使用其名称获取资源: private Drawable getDrawableResourceByName(

我在drawable文件夹中有一些图像文件。图像的名称类似于button1、button2、button3……还有一个计数变量,每当单击按钮时,该变量会增加1。我想做的是,每当有人单击按钮时,该按钮的图像应更改为对应于当前计数值的图像

我试过了

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

请发布您的全部代码,以便我们可以查看您可以将可提取数据与计数进行哈希映射