我有一个物品的微调器{苹果,桔子,鸡蛋,面包}。当用户选择“鸡蛋”时,其价值/成本($ 2)将在以后计算总成本时使用。如何将数值(物料成本)与微调器中用户选择的物料映射?我有点困惑是否可能。似乎它有2个值。

就像是:

double totalExpenses = $23 + (cost of the item user selected)

strings.xml

<string-array name="spinner_array">
<item>Apples</item>
<item>Oranges</item>
<item>Eggs</item>
<item>Bread</item>
</string-array>

最佳答案

如果您要避免创建自己的适配器(有时希望使其保持简单)

有另一个相同大小的数组,其价格为:

<string-array name="spinner_array">
   <item>Apples</item>
   <item>Oranges</item>
   <item>Eggs</item>
   <item>Bread</item>
</string-array>

<string-array name="spinner_array_values">
   <item>5.99</item>
   <item>6.99</item>
   <item>2.99</item>
   <item>12.99</item>
</string-array>


然后,在事件处理程序上,获取微调器的选定索引。使用该索引从第二个数组获取价格。

double totalExpenses = $23 + Double.parseDouble(value of spinner_array_values index at the spinner selected index);


===编辑(代码示例)====

int selectedIndex = spinner.getSelectedItemPosition();
String[] price_array = getResources().getStringArray(R.array.spinner_array_values);
double totalExpenses = 23 + Double.parseDouble(price_array[selectedIndex]);


要么

double totalExpenses = 23 + Double.parseDouble(getResources().getStringArray(R.array.spinner_array_values)[spinner.getSelectedItemPosition()]);

07-26 09:41
查看更多