我们如何从资源xml中获取arraylist(字符串和整数)

Pin*_*nki 28 android

您想从resources.xml获取arraylist是否有任何代码.请给我一些建议.谢谢你提前

Val*_*her 78

使用Arrays.asList:

String[] myResArray = getResources().getStringArray(R.array.my_array);
List<String> myResArrayList = Arrays.asList(myResArray);
Run Code Online (Sandbox Code Playgroud)

这个列表是不可变的,所以如果你想要一个可变列表,那就做:

List<String> myResMutableList = new ArrayList<String>(myResArrayList);
Run Code Online (Sandbox Code Playgroud)

  • 同样的事情,使用Arrays.asList和getIntegerArray. (3认同)
  • @Pinki:如果我的回答让你满意,你能否回答这个问题? (3认同)
  • 我也问整数Integer arrayliat (2认同)

Hir*_*tel 34

我这样做了:

string.xml:

定义字符串数组:

 <string-array name="my_string_array">
        <item>Test 1</item>
        <item>Test 2</item>
        <item>Test 3</item>
        <item>Test 4</item>
        <item>Test 5</item>
        <item>Test 6</item>

    </string-array>
Run Code Online (Sandbox Code Playgroud)

Activity.class/Fragment.class中:

List<String> myArrayList = Arrays.asList(getResources().getStringArray(R.array.my_string_array));
Run Code Online (Sandbox Code Playgroud)

完成


kin*_*ity 8

对克劳斯答案的修改,得到一个ArrayList<String>:

ArrayList<String> myResArrayList = new ArrayList<String>();
Resources res = getResources();
Collections.addAll(myResArrayList, res.getStringArray(R.array.myResArray));
Run Code Online (Sandbox Code Playgroud)


Cod*_*key 7

不完全确定你想要什么,但这可能值得一读:http://developer.android.com/guide/topics/resources/string-resource.html

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="planets_array">
        <item>Mercury</item>
        <item>Venus</item>
        <item>Earth</item>
        <item>Mars</item>
    </string-array>
</resources>
Run Code Online (Sandbox Code Playgroud)

如何使用代码检索应用程序中的数组:

Resources res = getResources();
String[] planets = res.getStringArray(R.array.planets_array);
Run Code Online (Sandbox Code Playgroud)