我创建了一个如下所示的数组列表。但我不想输入这样的值。相反,我想从资源中使用数组列表。
sArrayList=new ArrayList<Employee>();
sArrayList.add(new Empl("ABC", 24));
sArrayList.add(new Empl("ACB", 24));
sArrayList.add(new Empl("BVF", 28));
sArrayList.add(new Empl("BRT", 28));
sArrayList.add(new Empl("ANM", 23));
这是我的自定义类
public class Empl {
private String name;
private int age;
public Empl(String name,int age){
this.name = name;
this.age = age;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
}
我的字符串数组如下:
<string-array name="story_name_array">
<item>To Build a Fire</item>
<item>The Gift of the Magi</item>
<item>The Winepress</item>
<item>"THE BET"</item>
<item>"The Boarded Window"</item>
<item>"A Coward"</item>
</string-array>
<integer-array name="num">
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
</string-array>
现在如何使用自定义类在arraylist中添加字符串数组资源的值?
答案 0 :(得分:0)
使用从资源访问数组。
String[] myStrings =
getResources().getStringArray(R.array.story_name_array);
String[] myNum =
getResources().getIntArray(R.array.num);
现在循环第一个或第二个数组(注意相同的大小)。
之后创建对象并将它们添加到循环中。
答案 1 :(得分:0)
String[] nameArray = getResources().getStringArray(R.array.story_name_array); // for getting the array from resources
String[] ageArray = getResources().getStringArray(R.array.num);
for(int i =0; i<nameArray.length; i++)
sArrayList.add(new Empl(nameArray[i] , Integer.valueOf(ageArray[i]) )); // for adding it to your sArrayList
尝试以上解决方案。
答案 2 :(得分:0)
ArrayList<Empl> empls = new ArrayList<Empl>()
String[] names = getResources().getStringArray(R.array.story_name_array);
String[] numbers = getResources().getStringArray(R.array.num);
if(names.length == numbers.length) {
for(int i=0; i<names.length; i++) {
empls.add(new Empl(names[i],Integer.valueOf(numbers[i]));
}
} else {
Log.d(" Names and number array size does not match!");
}