我是一名JS开发人员,当我想要实现一个选择时我会想到HTML,我只是这样做:
<select name"cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
使用JS太容易操纵视图。
当我尝试在Android XML中实现时:
<string-array name="cars">
<item value="volvo">Volvo</item>
<item value="saab">Saab</item>
...
</string-array>
Android XML没有值属性,似乎无法向标记添加新属性。
如何将其转换为具有值和文本的Android XML Spinner,并链接到Java代码中以获取所选项目值 XML中的一种简单方法?
答案 0 :(得分:0)
没有办法像你想要的那样持有价值和物品。你可以做的是定义两个单独的数组,并通过相同的索引在代码中相互引用:
<string-array name="cars">
<item>Volvo</item>
<item>Saab</item>
</string-array>
和
<string-array name="cars_values">
<item>volvo</item>
<item>saab</item>
</string-array>
检索数组,现在不同数组中的相同索引同时包含值和实际的汽车:
Resources res = getResources();
String[] cars = res.getStringArray(R.array.cars);
String[] carsValues = res.getStringArray(R.array.carsValues);
当您在微调器中使用它时,您可以通过调用以下方式获取所选位置:
int pos = spinner.getSelectedItemPosition();
并访问以下值:
String selectedItem = cars[pos];
String selectedValue = carsValues[pos];