如何在java代码中获取android xml视图元素id属性

时间:2011-01-05 08:28:52

标签: android

假设我有一个id为@+id/send_button

的按钮的xml定义

如何在Java代码中获取此id属性值?我在AttributeSet类上尝试了getXXX方法,但没有提供任何包含“send_button”的值。

EDIT1:

让我说清楚一点。

我正在创建一个自定义View组件,我想知道该组件的用户在xml文件中提供的id值是什么。

EDIT2:

由于特殊原因我使用

,我没有使用自定义属性
<mycomponent
     android:id="@+id/my_id"/>

编辑3:

getIdAttribute()上有一个AttributeSet方法,但它不起作用。有人知道任何原因吗?

2 个答案:

答案 0 :(得分:3)

据我所知,您正在构建自定义视图,并且在检索此视图后,您希望获取此视图的ID。为什么以及如何做到这一点对我来说仍然不是很清楚。

但是如果你的自定义视图是View的子类,那么应该有一个getId()方法,它将返回分配给该视图的标识符。

答案 1 :(得分:2)

我仍然无法完全按照您的要求行事,但View的getTag方法将检索您在XML元素中设置的字符串,通过&#34; android:tag&#34;。< / p>

所以...实质上,如果您不介意在XML中使用额外的属性,那么效果会相同。

<mycomponent
     android:id="@+id/my_id"
     android:tag="my_id"
/>

然后在你的代码中......

String nodeId = myComponentInstance.getTag();