Android如何以编程方式获取图像按钮的ID?

问题描述:

我创建图像按钮和我成立这就是图像编程与此代码:Android如何以编程方式获取图像按钮的ID?

myButton1[0][0].setImageResource(R.drawable.mayin2); 

而且我想要得到该图像的ID或名字从另一种方法。我怎样才能调用图像按钮的图像的ID或名称?

您不能直接这样做,它只是对获取的可绘制资源的引用,但不保留整数值。有一两件事你可以做的是参考存储为上的查看标签:

Integer resourceID = (Integer) myButton1[0][0].getTag("resource_id"); 

编辑:

myButton1[0][0].setImageResource(R.drawable.mayin2); 
myButton1[0][0].setTag(R.drawable.mayin2); 

然后,你可以用检索或者,如果你需要存储多个标签,定义在values文件夹中的ID(创建一些XML文件,也许ids.xml),像这样:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <item name="resource" type="id" /> 
</resources> 

然后设置标签与ID:

myButton1[0][0].setImageResource(R.drawable.mayin2); 
myButton1[0][0].setTag(R.id.resource, R.drawable.mayin2); 

然后用相同的ID检索:

Integer resourceID = (Integer) myButton1[0][0].getTag(R.id.resource); 
+0

谢谢,我知道我可以这样做,但我已经使用setTag方法另一件事,所以我不能使用setTag。有另一种可能的方法吗? – Burak 2013-05-01 04:16:27

+0

是的,你可以设置多个标签,我已经编辑过。 – kcoppock 2013-05-01 04:22:14

+0

我可以使用myButton1 [0] [0] .setTag(123,R.drawable.mayin2);和Integer resourceID =(Integer)myButton1 [0] [0] .getTag(123);而不是创建一个新的XML文件? – Burak 2013-05-01 04:28:00