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

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

<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"

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

在你的活动中,试试这些:

  1. 得到像radio1string:

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

     getResources().getResourceName(int resid); 

你有id('长'型)从你想要访问单选buttonid(名称) radio1的ID 。 你用这个

 getResources().getResourceEntryName(id); 

在使用上面你可以得到单选button的名称,即radio1。 这里的参数ID是你有(长型) 。 试试这个会帮你100%。

你的意思是你想要采取id的string文本?

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

如果你有一个布局,并且你想查找一个View是否有一个特定的ID,那么你可以遍历整个布局并用getId()来检查,如果每个View的ID是你正在查找的ID。

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

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

 int intname= buttonname.getId(); 

然后得到它的结果

 String stringname= get regetResources().getResourceEntryName(intname); 

希望我帮助