0

我试图从微调器 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 例如 USD 价值 3 / GBP 价值 2

希望这能让它更清楚一点

4

2 回答 2

1

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

如果你不是,那么这就是问题所在。你不能通过Spinner调用spinner1.toString()or来获得 's 的值spinner2.toString()

要获得使用价值spinner...

spinner.getSelectedItem().toString(); 

所以在你的情况下......

double result2 = Double.valueOf(spinner1.getSelectedItem().toString()) / Double.valueOf(spinner2.getSelectedItem().toString());
于 2013-07-26T03:36:40.047 回答
0

我认为这是错误:

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

将其更改为:

double result2 = Double.valueOf(spinner1.getSelectedItem().toString()) / Double.valueOf(spinner2.getSelectedItem().toString());
于 2013-07-26T03:36:10.180 回答