我设计的应用程序有4个微调器,一个文本视图和一个按钮,根据他们的选择,它计算翻译服务的价格。
我想知道如何为微调器中的项目赋值,然后在计算中使用它。
例如,其中一个项目是英语,所以我想给出值2,所以当该人点击英文值2时,可以在下面的公式中使用。
结果=在微调器中选择的项目的值1 *在微调器中选择的项目的值2 *在微调器中选择的项目的值3 *在微调器4中选择的项目的值
任何提示都很有用
答案 0 :(得分:0)
最好的方法如下:
<强> 1。制作自定义类
class MyClass {
public int Id;
public String Title;
public long Price;
public MyClass (int id,String title,long price){
Id = id;
Title = title;
Price = price;
}
@Override
public String toString() {
return Title;
}
}
<强> 2。将Array Adapter用于具有自定义模型的微调器:
new ArrayAdapter<MyClass>(getApplicationContext(),
android.R.layout.simple_dropdown_item_1line, YOUR_LIST_OF_ITEMS);
第3。每当您想要获取所选项目时,只需执行以下操作:
((MyClass)YOUR_SPINNER.getSelectedItem()).Id
通过这种方式,您可以访问模型中的任何参数。
重要提示: 不要忘记在自定义类中覆盖toString方法。这是在微调器中显示标题的方法。
通过使用此方法,您不需要设置任何侦听器侦听器或保持对所选项的引用。
编辑:使用字符串代替任何自定义类
如果你想使用正常的字符串数组。最后,当您获得所选项目时,只需在数组中搜索并找到索引并使用它。
String selectedItem = YOUR_SPINNER.getSelectedItem().toString();
int index = YOUR_STRING_ARRAY_LIST.indexOf(selectedItem);