2

我收到关于strings.xml无法解析的字符串数组(位于 中)的错误。

我已经完成了互联网上所说的一切:

  1. 重启 Eclipse
  2. gen删除了文件夹内的我的 R.java 文件
  3. values的文件夹仍在res文件夹内,没有移动
  4. 我的 XML 文件都没有错误
  5. Project -> Clean
  6. 我的班级没有android.R导入。
  7. 检查了R.java类,它确实没有app_categories属性(我的数组的名称)

XML的相关部分:

<string-array name="app_categories">
    <item >Cat 1</item>
    <item >Cat 2</item>
    <item >Cat 3</item>
    <item >Cat 4</item>
    <item >Cat 5</item>
    <item >Cat 6</item>
    <item >Cat 7</item>
    <item >Cat 8</item>
    <item >Cat 9</item>
</string-array>

Java 代码:

String[] categoryNames = getResources().getStringArray(R.string.app_categories);

我所有的其他字符串都是可见的。我定义了另一个数组,就像这个数组一样,那个数组也不可见。

下面的确切错误:

app_categories cannot be resolved or is not a field [class_name].java   [path]  line 45 Java Problem
4

4 回答 4

9

试试这种方式:

 getResources().getString(R.array.app_categories_list);

而不是R.string使用R.array,您将获得您的数组列表。

于 2013-01-16T13:45:09.293 回答
4

不要将字符串数组放在strings.xml 中 您必须创建一个名为arrays.xml 的新文件并将它们放在那里。打电话时你需要 R.arrays.myarray,而不是 R.strings.MyArray

于 2013-01-16T13:42:49.100 回答
0

清理项目后,尝试通过从命令行运行 adb kill-server 和 adb start-server 来重新启动 adb 服务器

于 2013-01-16T13:45:36.047 回答
0

一个解决方案可能是手动创建 R:

只需将鼠标悬停在问题所在的活动文件中的错误上,然后手动创建它,这将导致 R 生成您在strings.xml中创建的字符串数组

于 2013-11-04T21:30:52.013 回答