如何获取按钮的原始资源标识符?

时间:2011-06-24 13:17:48

标签: android button

在我的布局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名称会更方便。

这可能吗?

3 个答案:

答案 0 :(得分:2)

使用getResources().getResourceName()

答案 1 :(得分:2)

反射或设置android:tag属性,然后使用.getTag(),从代码中更简单,但在..xml中有点冗余。

答案 2 :(得分:0)

您可以对生成的R.id类使用反射。 或者,您可以创建自己的类,其中包含您想知道的值的字段。