我有一个物品的微调,例如{苹果,橘子,鸡蛋,面包}。当用户选择“鸡蛋”时,它的价值/成本($ 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>
答案 0 :(得分:2)
如果你想避免创建自己的适配器(有时你想让它保持简单)
有另一个相同大小的数组,其价格为:
<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]);
OR
double totalExpenses = 23 + Double.parseDouble(getResources().getStringArray(R.array.spinner_array_values)[spinner.getSelectedItemPosition()]);
答案 1 :(得分:0)