我在Java中有一个名为Number with 4 String attributes的自定义对象。 现在,为了创建该对象的数组,我必须用Java编写它:
Number[] numbersArray = {
new Number("attr 1","attr 2","attr 3","attr 4");
};
我想将这些对象存储在XML资源文件中,例如:
<number-array>
<number>
<string>attr 1</string>
<string>attr 2</string>
<string>attr 3</string>
<string>attr 4</string>
</number>
</number-array>
有没有办法这样做?基本上,我想使用此XML资源文件填充Java文件中的numbersArray。等待回复。
答案 0 :(得分:1)
您可以按照文档中所述执行此操作:https://developer.android.com/guide/topics/resources/more-resources.html#TypedArray
这是String数组的第二个例子:https://developer.android.com/guide/topics/resources/string-resource.html#StringArray
答案 1 :(得分:0)
将这些对象插入strings.xml中,如下所示: -
<integer-array name="studentIds"> // here you can defile string-array also
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
</integer-array>
现在使用以下行检索这些对象: -
getResources().getIntArray(R.array.studentIds);
getResources().getStringArray(R.array.studentIds);
答案 2 :(得分:-1)
在res / values文件夹中的strings.xml文件中定义一个字符串变量。
<resources>
<string name="numbers">attr 1,attr 2,attr 3,attr 4</string>
</resources>
现在检索String并在您的活动中初始化Number []数组。
String values[] = getString(R.string.numbers).split(",");
Number[] numbers = new Number[values.length];
for(int i=0; i< values.length; i++){
numbers[i] = new Number(values[i]);
}
希望这有帮助。