无法从strings.xml检索字符串值到Java

时间:2015-05-25 08:49:08

标签: android

简单的问题。我得到了这个

    <?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">YYYYYY</string>
    <string name="leaderBoard">XXXXX</string>
</resources>

在我的res&gt;值&gt; strings.xml

然后在我的Activity中我尝试取出leaderBoard值,但java拒绝这样做。

String string = getString(R.string.leaderBoard);

leaderBoard无法解析为字段。

我试过,清理项目,令人耳目一新,仍然没有。 另一方面,我能够将app_name检索到像manifest.xml这样的xml文件中。我很确定我是盲人还是其他什么......

 <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >       
         <meta-data
            android:name="com.google.android.gms.games.APP_ID"
            android:value="@string/app_id" />
...

4 个答案:

答案 0 :(得分:2)

确保使用正确的 R 类 - 您的项目之一,而不是Android的。检查导入。

它应该是这样的

import com.yourapp.R;

而不喜欢

import android.R;

答案 1 :(得分:2)

您需要阅读字符串形式 String.xml ,这样您就可以使用g etString()这是资源的方法,这样您就可以立即获得输出。

<强> getResources().getString(R.string.YOUR_XML_STRING);

如果不起作用请Clean & Rebuild您的项目

了解更多信息。你可以访问

  

http://developer.android.com/guide/topics/resources/string-resource.html   和   http://developer.android.com/reference/android/content/Context.html#getString%28int%29

答案 2 :(得分:0)

使用此:

getResources().getString(R.string.leaderBoard);

答案 3 :(得分:0)

更改为

getResources().getString(R.string.leaderBoard);