【问题标题】:How do I insert a string on an array from the strings.xml file如何在 strings.xml 文件中的数组上插入字符串
【发布时间】:2017-09-16 18:34:29
【问题描述】:

如何在 strings.xml 文件中的数组上插入字符串,如果输入以下错误,则会收到错误 getText(R.string.home)

错误:无法解析方法“getText(int)”

static String[] titles ={"Home",
        "Profile",
        "Settings",
        "Exit"};

【问题讨论】:

    标签: java android arrays string


    【解决方案1】:

    您需要一个Context 对象才能调用getString() 方法。你经常可以简单地写getString(R.string.foo) 而不是mContext.getString(R.string.foo) 这样的原因是Activity 类是Context 的子类。

    您究竟如何获得Context 对象将取决于您尝试执行此代码的位置。在Fragment,你可以写getActivity().getString(R.string.foo)

    【讨论】:

      【解决方案2】:

      使用getString()方法如下:

      static String[] titles ={getString(R.string.home),
              getString(R.string.profile),
              getString(R.string.settings),
              getString(R.string.exit)};
      

      如果不是在 Activity 中而是在片段中调用它,则必须使用 getActivity().getString。 希望对您有所帮助。

      【讨论】:

      • NullPointerException: 尝试在空对象引用上调用虚拟方法 'android.content.res.Resources android.content.Context.getResources()'
      【解决方案3】:

      你可以这样试试

       <string-array name="home">
          <item>Home</item>
          <item>Profile</item>
          <item>Settings</item>
          <item>Exit</item>
      </string-array>
      

      String [] titles= getResources().getStringArray(R.array.home);
      

      【讨论】:

        【解决方案4】:

        把你的字符串数组像这样放在strings.xml文件中

        <string-array name="menuItems">
                <item>Home</item>
                <item>Profile</item>
                <item>Settings</item>
                <item>Exit</item>
            </string-array>
        

        像这样访问你的java文件

        String [] fruitsArray= getResources().getStringArray(R.array.menuItems);
        

        【讨论】:

          猜你喜欢
          • 2020-12-12
          • 1970-01-01
          • 2012-02-02
          • 2020-07-28
          • 1970-01-01
          • 2011-12-13
          • 1970-01-01
          • 2012-09-20
          • 1970-01-01
          相关资源
          最近更新 更多