Android 如何获取给定值的字符串的标识符

Android 如何获取给定值的字符串的标识符,android,Android,给定strings.xml,如何获取给定值的字符串标识符? 换句话说,假设我们在下面发布了视图,我们可以按如下方式获得按钮的值: mBtnDecisionAccepted = (Button) findViewById(R.id.actMain_btn_yes); mBtnDecisionAccepted.getText().toString() 但是有没有任何方法可以返回 decision_accepted 布局: <Button android:id

给定strings.xml,如何获取给定值的字符串标识符? 换句话说,假设我们在下面发布了视图,我们可以按如下方式获得按钮的值:

mBtnDecisionAccepted = (Button) findViewById(R.id.actMain_btn_yes);
mBtnDecisionAccepted.getText().toString()
但是有没有任何方法可以返回

decision_accepted
布局

<Button
                android:id="@+id/actMain_btn_yes"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/decision_accepted" />
<resources>
    <string name="app_name">Test-TraverseThroughAView-1</string>
    <string name="decision_accepted">eng: yes</string>
    <string name="decision_rejected">eng: no</string>
    <string name="decision_postponed">eng: change</string>
</resources>

strings.xml

<Button
                android:id="@+id/actMain_btn_yes"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/decision_accepted" />
<resources>
    <string name="app_name">Test-TraverseThroughAView-1</string>
    <string name="decision_accepted">eng: yes</string>
    <string name="decision_rejected">eng: no</string>
    <string name="decision_postponed">eng: change</string>
</resources>

Test-Traversethrawaview-1
英格:是的
英格:没有
英格:改变

您应该使用context.getResources().getIdentifier()

  private String getStringResourceByName(String aString) {
    String packageName = getPackageName();
    int resId = getResources().getIdentifier(aString, "string", packageName);
    return getString(resId);
    }

可能是@LetsamrIt的重复项。您是否已完成此工作…如果下面的答案提供了解决方案,请您接受它,以便其他人知道它已得到回答。