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);
谢谢,我知道我可以这样做,但我已经使用setTag方法另一件事,所以我不能使用setTag。有另一种可能的方法吗? – Burak 2013-05-01 04:16:27
是的,你可以设置多个标签,我已经编辑过。 – kcoppock 2013-05-01 04:22:14
我可以使用myButton1 [0] [0] .setTag(123,R.drawable.mayin2);和Integer resourceID =(Integer)myButton1 [0] [0] .getTag(123);而不是创建一个新的XML文件? – Burak 2013-05-01 04:28:00