有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Android:通过编程方式从微调器创建ArrayList

我有一个在XML文件中创建的微调器:

<Spinner
    安卓:id="@+id/unitSpinner"
    安卓:entries="@array/units" />

其条目在array.xml中定义

<string-array name="units">
    <item>g</item>
    <item>kg</item>
    <item>ml</item>
    <item>l</item>
    <item>szt.</item>
    <item>op.</item>
</string-array>

现在,在我的Java文件中,我想创建一个ArrayList<String>,在向它提供Spinner的条目之后,它的内容将是:

["g", "kg", "ml", "l", "szt.", "op."]

我的Java代码如下所示:

Spinner unit = (Spinner) findViewById(R.id.unitSpinner);
ArrayList<String> array = new ArrayList<>();
//pass information from unit to array

编辑:

这个问题不同于像Android : Fill Spinner From Java Code Programmatically这样的许多问题,因为我不想用数组填充微调器,而是相反


共 (1) 个答案

  1. # 1 楼答案

    您可以直接从XML数组中获取列表。无需从旋转器获取ti

    String[] ss  = getResources().getStringArray(R.array.units);
    ArrayList<String> array = Arrays.asList(words);
    

    如果此方法不适用于您,您可以尝试通过循环从微调器获取所有项目

        for( int i = 0  ; i< unit.getAdapter().getCount() ; i++ ){
                    array.add ( ss.getAdapter().getItem( i ) )
    
    }
    

    希望这会有所帮助