为微调器的项赋值并在计算中使用它们

时间:2018-04-29 09:59:51

标签: java android

我设计的应用程序有4个微调器,一个文本视图和一个按钮,根据他们的选择,它计算翻译服务的价格。

我想知道如何为微调器中的项目赋值,然后在计算中使用它。

例如,其中一个项目是英语,所以我想给出值2,所以当该人点击英文值2时,可以在下面的公式中使用。

结果=在微调器中选择的项目的值1 *在微调器中选择的项目的值2 *在微调器中选择的项目的值3 *在微调器4中选择的项目的值

任何提示都很有用

1 个答案:

答案 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);