1

是否可以在运行时更改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)。我怎么做?

4

2 回答 2

1

如果您只想跟踪图像名称,则无需更改 id。只需使用单独的字符串变量,或者(可能更可取)按钮上的setTaggetTag方法。

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

btn.setTag(imageName);

要检索字符串,请使用:

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

注意:标签可以是任何对象。它不一定是一个字符串,事实上,这就是为什么我们需要在我们的示例中使用(String)转换 getTag结果。

于 2013-10-19T11:01:13.573 回答
0

您可以使用 的setId(id)方法为您的..ImageButton设置一个 idImageButton

imagebutton.setId(someId);
于 2013-10-19T10:50:11.270 回答