安卓:在res/values中组织字符串和字符串数组

3

我正在开发一个涉及大量字符串和字符串数组的项目。我想把它们放在创建的res/values文件夹里面,但是当我尝试这样做时会出现错误。要么getResources()方法无法识别新文件夹,要么xml属性不能链接在一起。我知道这可能是一个初学者的问题,但感谢您的帮助!


1
你不能有子文件夹。但是,你可以将字符串和字符串数组拆分成多个文件(例如:strings1.xml、strings2.xml)。 - Joseph Earl
3个回答

3
很遗憾,您无法在values文件夹中创建任何子文件夹。但是您有两个工具可以控制层次结构。 字符串数组的声明方式如下:
<string-array name="arr_name">
    <item>Text</item>
    <item>Another text</item>
</string-array>

您可以通过R.array.arr_name访问它们。
“前缀”是很明显的,但由于您提到您是新手,值得一提。我通常根据字符串用途给它们加上前缀。例如,按钮文本使用btn_,对话框中使用的字符串使用dialog_等等。这样IDE中的自动完成也会更好。
此外,您还可以将声明拆分为不同的文件,但这对访问它们的方式没有任何影响,因此我不知道这是否能帮助您。

谢谢,这正是我开始自己做的。再次感谢您的帮助。非常感激。 - Brendan

0

您可以使用以下方式定义字符串数组。稍后,您可以通过R.values.langs在代码中访问它。

<string-array name="langs">
    <item>бг</item>
    <item>en</item>
    <item>ру</item>
</string-array>

0
为了组织我的res文件夹,我使用定义的xml文件而不是子文件夹。
基本示例:
- 如果您有登录页面的字符串,请将它们放在login_strings.xml中
- 如果您有选项页面的字符串,请将它们放在options_strings.xml等中。
希望这可以帮助到您。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接