181


在我的布局中,我定义了这样的东西。

<RadioButton
    android:id="@+id/radio1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Dnt want this text" />

假设活动中的某个函数返回我这个 id(radioButton 的 id)。现在我想从这个 id中获取这个文本radio1 。总之我想检索文本radio1写在android:id="@+id/radio1"

有人能告诉我怎么可能吗?

4

5 回答 5

413

在您的活动中,尝试这些:

  1. 得到像这样的字符串radio1

    getResources().getResourceEntryName(int resid);
    
  2. 得到像这样的字符串com.sample.app:id/radio1

    getResources().getResourceName(int resid);
    

现在在 Kotlin 中:

val name = v.context.resources.getResourceEntryName(v.id)
于 2012-04-13T09:01:17.597 回答
9

你有id('long' type)来自你想要访问单选按钮id(name)的 id ,即radio1。你用这个

getResources().getResourceEntryName(id);

在上面使用中,您可以获得单选按钮的名称,即radio1。这里的参数 id 是你拥有的(long type)。试试这个,它会帮助你 100%。

于 2012-04-13T09:23:08.203 回答
4

科特林:

val name = v.context.resources.getResourceEntryName(v.id)
于 2018-04-26T12:40:02.583 回答
1

如果我是对的,那么您想要检索的是单词“radio1”(来自 id 本身?)所以如果是这种情况,那么首先您需要获取它的 id。

int intname= buttonname.getId();

然后得到它的结果

String stringname= getResources().getResourceEntryName(intname);

希望我能帮上忙

于 2016-08-24T06:47:19.657 回答
-1

你的意思是要取id的字符串文本?

既然你已经定义了它,你应该知道这是什么。

如果你有一个布局,你想查找一个 View 是否有特定的 id,你可以遍历整个布局并使用 getId() 检查每个 View 的 id 是否是你要查找的 id。

希望这会有所帮助(如果我理解正确你的问题.. :))

于 2012-04-13T08:43:31.760 回答