我有一个在XML文件中创建的微调器:
<Spinner
android:id="@+id/unitSpinner"
android: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之类的许多问题,因为我不想用数组来填充Spinner,而是相反。
答案 0 :(得分:4)
您可以直接从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 ) )
}
希望这会有所帮助。