Java 以编程方式更改Android可绘制按钮图标

Java 以编程方式更改Android可绘制按钮图标,java,android,drawable,Java,Android,Drawable,如何以编程方式更改FloatingActionButton或Button小部件的android:srcXML属性?我在活动中有一个按钮,定义如下: FloatingActionButton floatingActionButton = (FloatingActionButton) this.findViewById(R.id.start_button); 它有一个初始的android:src设置,如下所示: android:src="@android:drawable/ic_media_pla

如何以编程方式更改FloatingActionButton或Button小部件的
android:src
XML属性?我在活动中有一个按钮,定义如下:

FloatingActionButton floatingActionButton = (FloatingActionButton) this.findViewById(R.id.start_button);
它有一个初始的
android:src
设置,如下所示:

android:src="@android:drawable/ic_media_play"
我试图利用来更改
android:src
XML属性,但是如何在按钮点击后访问可绘制图标,例如
ic\u media\u pause
。当我尝试将
R.drawable.ic\u media\u pause
传递到
setImageResource()
方法时,我收到一个无法解决符号错误

floatingActionButton.setImageResource(R.drawable.ic\u media\u pause)

我如何获得可用的资源以将其作为参数传递


任何帮助都将不胜感激。谢谢大家!

您正在尝试访问SDK中包含的默认图标。您需要使用“android”作为资源标识符的前缀。例如:

floatingActionButton.setImageResource(android.R.drawable.ic_media_pause); 
这将允许您参考默认图标


:)

您的res/drawable文件夹中是否有一个名为“ic\u media\u pause”的文件,或者这是SDK中包含的默认android图标?如果是这样,请尝试
android.R.drawable.ic\u media\u pause
我正在使用SDK中包含的默认android图标库。你的建议绝对有效。你应该发布一个回复。另一方面,我是否可以使用
get.Resources.getIdentifier()
获取默认android图标库的图标?让我检查一下real quickYes,您可以,但根据文档,这是不鼓励的。例如,如果我在drawable文件夹中有一个自定义图像资源,我想使用
R.drawable.custom_image
,而不是使用
getResources().getIdentifier(“custom_image”,“drawable”,getPackage())
?这就是他们所说的“泄气”和“改用标识符”的意思?