假设我有一个id为@+id/send_button
如何在Java代码中获取此id属性值?我在AttributeSet
类上尝试了getXXX方法,但没有提供任何包含“send_button”的值。
EDIT1:
让我说清楚一点。
我正在创建一个自定义View
组件,我想知道该组件的用户在xml文件中提供的id值是什么。
EDIT2:
由于特殊原因我使用
,我没有使用自定义属性<mycomponent
android:id="@+id/my_id"/>
编辑3:
getIdAttribute()
上有一个AttributeSet
方法,但它不起作用。有人知道任何原因吗?
答案 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();