在微调器中划分值 - Android

时间:2013-07-26 01:01:05

标签: java android spinner

我试图从微调器1中获取值并将其除以微调器2的值,然后乘以当前量。这是我的代码,但是当我尝试转换时它给了我一个力量。

final EditText editCurr = (EditText) findViewById(R.id.etamount);
    Button convert = (Button) findViewById(R.id.btn_convert);
     convert.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v){
             double curr = Double.valueOf(editCurr.getText().toString());


                double result2 = Double.valueOf(spinner1.toString()) / Double.valueOf(spinner2.toString());
                double result = curr * result2;
                etResult.setText(String.valueOf(result));
         }
     });

让我更清楚我正在尝试做的事情我已经展示了我的数组的xml:

<string-array name="currencies">
    <item>EUR, Euro</item>
    <item>GBP, British Pound</item>
    <item>USD, US Dollar</item>
    </string-array>

<string-array name="currenciesvalues">
    <item>1</item>
 <item>2</item>
    <item>3</item>
</string-array>

货币是在微调器上显示的字符串,而货币值是分配给字符串的数字,例如EUR的值为1。 在该方法中,我试图从curr获得量并乘以将spinner1的值除以spinner2所发生的值,例如美元价值3 / GBP值2

希望这能让它更清晰

2 个答案:

答案 0 :(得分:1)

您是否获得了Spinner的价值,并将其分配给您尚未发布的代码中某处的spinner1spinner2

如果你不是,那就是问题所在。只需致电Spinnerspinner1.toString(),您就无法获得spinner2.toString()的价值。

获取spinner使用的值...

spinner.getSelectedItem().toString(); 

所以在你的情况下...

double result2 = Double.valueOf(spinner1.getSelectedItem().toString()) / Double.valueOf(spinner2.getSelectedItem().toString());

答案 1 :(得分:0)

我认为这是错误:

double result2 = Double.valueOf(spinner1.toString()) / Double.valueOf(spinner2.toString());

将其更改为:

double result2 = Double.valueOf(spinner1.getSelectedItem().toString()) / Double.valueOf(spinner2.getSelectedItem().toString());