在运行时更改组件的ID名称

时间:2013-10-19 10:42:18

标签: android xml view

是否可以在运行时更改组件的名称id

<ImageButton android:id="@+id/ImageButton01"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true" android:background="@drawable/single_square"
    android:onClick="itemSelected"
     />

onClick方法添加随机背景图片。稍后,当第二次点击它时,我想知道添加了什么背景图像。为此,我想在第一次单击时将此组件的ID名称(ImageButton1)更改为已设置的图像名称(例如,key_image)。我该怎么做?

2 个答案:

答案 0 :(得分:1)

如果您只想跟踪图像名称,则无需更改ID。只需在Button上使用单独的String变量,或(可能更喜欢) setTag getTag 方法。

对象的标签实际上只是存储该对象的附加信息的地方。因此,在您的情况下,如果您有一个按钮 btn ,并且您想要将 imageName 之类的字符串与它相关联:

btn.setTag(imageName);

要检索字符串,请使用:

String lastImageName = (String) btn.getTag();

注意:标记可以是任何对象。它不一定是String,实际上,我们需要在示例中使用(String)来强制转换 getTag 结果。

答案 1 :(得分:0)

您可以使用setId(id)的{​​{1}}方法为您的ImageButton设置ID ..

ImageButton