如何创建自定义<string-array>项目属性?



我是一个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];

最新更新