java - 如何在不知道图像名称的情况下更改 Android 中按钮的背景图像?

标签 java android

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

我试过了

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

关于java - 如何在不知道图像名称的情况下更改 Android 中按钮的背景图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15856400/

相关文章:

java - QuerySyntaxException : expecting OPEN, 在第 1 行附近找到 'DESC'

android - 在 Android 中使用谷歌地图

android - 使用 getDrawingCache 提高图像质量 - android

java - 光线追踪三角形的问题(方向和着色)

Java - 抽象类中的链接构造函数

android - 在 ViewPager 中同步 fragment 滚动

android - 何时在 fragment 中使用 onActivitycreate() 和 onCreate()

android - 在具有相同库的应用程序之间共享数据

java - Log4j 格式化 : Is it possible to truncate stacktraces?

java - 有没有办法在吗啡中编写否定查询(例如nand,nor,not)