我试图从微调器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
希望这能让它更清晰
答案 0 :(得分:1)
您是否获得了Spinner
的价值,并将其分配给您尚未发布的代码中某处的spinner1
和spinner2
?
如果你不是,那就是问题所在。只需致电Spinner
或spinner1.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());