Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为微调器的项目赋值,并在计算中使用它们_Java_Android - Fatal编程技术网

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

Java 为微调器的项目赋值,并在计算中使用它们,java,android,Java,Android,我正在设计一个应用程序,它有4个微调器,一个文本视图和一个按钮,并根据他们的选择来计算翻译服务的价格 我想知道如何在微调器中为项目赋值,然后在计算中使用它 例如,其中一个项目是英语,所以我想给出值2,所以当这个人点击英语值2时,可以在下面的公式中使用 结果=在微调器1中选择的项目值*在微调器2中选择的项目值*在微调器3中选择的项目值*在微调器4中选择的项目值 任何提示都是有用的最好的方法如下: 1。创建自定义类 class MyClass { public int Id; pub

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

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

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

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


任何提示都是有用的

最好的方法如下:

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。对自定义型号的微调器使用阵列适配器:

new ArrayAdapter<MyClass>(getApplicationContext(),
        android.R.layout.simple_dropdown_item_1line, YOUR_LIST_OF_ITEMS);
((MyClass)YOUR_SPINNER.getSelectedItem()).Id
通过这种方式,您可以访问模型中的任何参数

重要注意事项: 不要忘记在自定义类中重写toString方法。这是在微调器中显示标题的方法

通过使用这种方法,您不需要设置任何侦听器或保留对所选项的引用

编辑:使用字符串而不是任何自定义类

如果您想使用字符串数组,这是确定的。在获取所选项目的最后,只需在数组中搜索并找到索引并使用它

String selectedItem = YOUR_SPINNER.getSelectedItem().toString();
int index = YOUR_STRING_ARRAY_LIST.indexOf(selectedItem);

为什么你不使用if-else,if(spinner1.getSelectedItem().toString().equals(“英语”){value1=2}和wise for all SpinnerTNX作为你的答案,所以我在onSelectedItemClickedListener方法中使用它?值1不被android研究识别我不说值1,我说的是value1,它是一个变量名(你可以使用任何变量名)我知道了,谢谢。但这不允许我感谢你的回答Heshmatinia先生。我有一个问题,那些身份证的名称和价格指的是什么?我的名单是波斯语的,这就是为什么我没有把它们贴在这里,它们指的是你喜欢的任何东西!这只是一个演示案例,帮助您了解您可以使用任何自定义模型。如果您不需要它们,只需移除它们即可@我喜欢编程,所以我在课堂上是如何使用它们的