在我的布局xml文件中,我有几个像这样的按钮共享相同的事件处理程序:
<Button android:id="@+id/page1" onClick="OnClick" .... ></Button>
在我的活动中,我想要这样的代码:
public void onClick(View v) {
String url = String.format("http://example.com/%d", v.getId());
}
动态构建网址。但是,getId()返回表示按钮ID的整数,而不是单词“page1”。
当然我可以使用switch语句,但如果我可以引用分配给该按钮的原始ID名称会更方便。
这可能吗?
答案 0 :(得分:2)
使用getResources().getResourceName()
答案 1 :(得分:2)
反射或设置android:tag属性,然后使用.getTag(),从代码中更简单,但在..xml中有点冗余。
答案 2 :(得分:0)
您可以对生成的R.id类使用反射。 或者,您可以创建自己的类,其中包含您想知道的值的字段。