如何从资源ID获取资源名称

时间:2012-04-13 08:37:56

标签: android


在我的布局中,我已经定义了类似的东西。

<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 。 简而言之,我想要检索用android:id="@+id/radio1"

编写的文字 radio1

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

5 个答案:

答案 0 :(得分:314)

在您的活动中,请尝试以下操作:

  1. 获取类似radio1的字符串:

    getResources().getResourceEntryName(int resid);
    
  2. 获取类似com.sample.app:id/radio1的字符串:

    getResources().getResourceName(int resid);
    
  3. 现在在Kotlin:

    val name = v.context.resources.getResourceEntryName(v.id)
    

答案 1 :(得分:8)

您想要访问 id(名称) radio1 的ID, ID('long'类型)。 你用这个

getResources().getResourceEntryName(id);

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

答案 2 :(得分:2)

科特林:

val name = v.context.resources.getResourceEntryName(v.id)

答案 3 :(得分:1)

如果你想要检索的是“radio1”这个词(来自id本身吗?)所以如果是这样的话那么首先你需要得到它的id

int intname= buttonname.getId();

然后得到它的结果

String stringname= get regetResources().getResourceEntryName(intname);
希望我能帮助

答案 4 :(得分:0)

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

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

如果您有一个布局,并且想要查找View是否具有特定ID,则可以遍历整个布局并使用getId()进行检查,如果每个View的ID都是您要查找的ID .. < / p>

希望这有帮助(如果我理解了你的问题...... :))