1

私は Android の初心者で、EditTexts を追加する簡単なアプリを作成しようとしています。この例を見つけましたが、うまくいきません。「プリミティブ double で toString() を呼び出すことはできません」というエラー (コードの最後の行) が表示されます。

私は何を間違えましたか?

Heres 私のコード (ちょうど例のように):

public class MainActivity extends 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());

}

}

4

2 に答える 2

2

プリミティブで toString を呼び出すことはできません。代わりに String.valueOf(result) を使用してください。

于 2013-07-22T16:23:53.013 に答える