我是一个JS开发人员,当我想实现一个选择时,我只是简单地这样做:
<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太容易操作视图了。
当我尝试在安卓XML中实现时:
<string-array name="cars">
<item value="volvo">Volvo</item>
<item value="saab">Saab</item>
...
</string-array>
Android XML 没有值属性,似乎无法向标签添加新属性。
如何将其转换为具有值和文本的android XML微调器,并链接到Java代码中以XML中简单的方式获取选定的项目值?
没有一种方法可以像您试图实现的那样保存价值和项目。您可以做的是定义两个单独的数组,并通过同一索引在代码中相互引用:
<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];