我是 Android 的初学者,我正在尝试构建一个简单的应用程序,将 EditTexts 一起添加。我找到了这个例子,但它对我不起作用。我收到一个错误(在代码的最后一行),指出“无法在原始双精度上调用 toString()”。
我做错了什么?
这是我的代码(就像示例一样):
公共类 MainActivity 扩展 Activity {
private EditText editText1, editText2;
private TextView resultsText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
editText1 = (EditText) findViewById(R.id.editText1);
editText2 = (EditText) findViewById(R.id.editText2);
resultsText = (TextView) findViewById(R.id.resultsText);
TextWatcher textWatcher = new TextWatcher() {
public void afterTextChanged(Editable s) {
calculateResult();
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
}
};
editText1.addTextChangedListener(textWatcher);
editText2.addTextChangedListener(textWatcher);
}
private void calculateResult() throws NumberFormatException {
Editable editableValue1 = editText1.getText(),
editableValue2 = editText2.getText();
double value1 = 0.0,
value2 = 0.0,
result;
if (editableValue1 != null)
value1 = Double.parseDouble(editableValue1.toString());
if (editableValue2 != null)
value1 = Double.parseDouble(editableValue2.toString());
result = value1 * value2;
resultsText.setText(result.toString());
}
}