从arrays.xml文件转换问题</string>获取ArrayList <string>

时间:2014-04-29 18:39:38

标签: java android arraylist

我必须将一个存储在arrays.xml中的数组作为ArrayList

String arrayNames[]=MyActivity.this.getResources().getStringArray(R.array.names;
ArrayList<String> namesList=(ArrayList<String>) Arrays.asList(arrayNames));

这个原因

java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList

因为由于List的不同实现而从List转换为ArrayList似乎是否定的。

我需要传递ArrayList<String>,因此我无法更改ArrayList<String> namesList中的List<String> namesList

想知道是否有更好的方法来转换String ArrayList<String>,而无需手动编写迭代所有数组条目并将其全部放入ArrayList<String>

的方法

3 个答案:

答案 0 :(得分:1)

你无法以这种方式投射,宣布一个新的ArrayList

ArrayList<String> namesList= new ArrayList<String>(Arrays.asList(arrayNames)));

答案 1 :(得分:0)

你可以这样写:

ArrayList<String> namesList=new ArrayList<String>(Arrays.asList(arrayNames));

答案 2 :(得分:0)

您可以尝试使用TypedArray

Resources resources = mContext.getResources();
TypedArray namesList = resources.obtainTypedArray(R.array.names);