使用strings.xml w / Android

时间:2011-05-02 18:56:13

标签: java android

我看了很多东西,但似乎我的App没有在strings.xml中获取字符串的值。它实际上似乎是空白。我认为初始化存在问题。

的strings.xml

    <string name="itb_cityID">2</string>
        <string name="itb_city">New York</string>

constants.java excerpt:

public class ConstantData {

public static String cityID="2";
public static String city="New York";

如何设置cityID = R.strings.itb_cityIDcity=itb_city正确方法?

3 个答案:

答案 0 :(得分:13)

String yourString = Context.getResources().getString(R.string.your_string);

注意:您无法静态使用Context。如果您在活动中,只需使用this或直接致电getResources()即可。否则,您需要通过getApplicationContext()获取应用程序上下文的句柄。

答案 1 :(得分:7)

这个例子很有用

  • 保存在res / values / strings.xml的XML文件:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <string name="hello">Hello!</string>
    </resources>
    
  • 此布局XML将字符串应用于视图

    <TextView
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:text="@string/hello" />
    
  • 此应用程序代码检索字符串:

      

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

         

    您可以使用getString(int)或getText(int)来检索字符串。 getText(int)将保留应用于字符串的任何富文本样式。

此示例来自http://developer.android.com/guide/topics/resources/string-resource.html

答案 2 :(得分:0)

您是否检查过整个项目没有错误。如果不是,则可能存在阻止R.java使用您的字符串更新的错误。你可以尝试&#34;清洁&#34;你从&#34;项目&#34;菜单。这可能有用。此外,我无法理解为什么你必须使用Context.,通常你应该能够直接调用getResources().(在某些情况下,即使这是不必要的)。要查找的一件好事是,您在strings.xml文件中声明的字符串是否被识别为声明的字符串。