我正在尝试在 Fragment 中创建一个可扩展的 ListView,问题是,在所有指南中,组和列表名称的数组使用如下:
// названия компаний (групп)
String[] groups = new String[] {"HTC", "@Samsung", "@LG"};
// названия телефонов (элементов)
String[] phonesHTC = new String[] {"Sensation", "Desire", "Wildfire", "Hero"};
String[] phonesSams = new String[] {"Galaxy S II", "Galaxy Nexus", "Wave"};
String[] phonesLG = new String[] {"Optimus", "Optimus Link", "Optimus Black", "Optimus One"};
是否有将它们转移到字符串资源的选项,以便在将应用程序翻译成其他语言时,您不会遇到这个问题?试图在字符串资源中创建
<string-array name="1-10">
<item>Раз</item>
<item>Два</item>
<item>Три</item>
<item>Четыре</item>
<item>Пять</item>
<item>Шесть</item>
<item>Семь</item>
<item>Восемь</item>
<item>Девять</item>
<item>Десять</item>
</string-array>
但应用程序崩溃,发生错误,指出给定数组为空。
显然,您首先需要从资源中获取一个数组对象并将其传递给适配器,而不是直接引用适配器中的资源:
对于资源中的其他字符串数组也是如此。
PS:此外,资源中的数组名称(以及 Java 中的一般变量)必须以字母开头并包含一组有限的字符(拉丁字母、数字、$ 和 _ 符号)。名称1-10不适合