0

さて、結果ウィンドウに現在表示されている数値の符号を変更するために、この +/- ボタンを追加したいと思います (EditText コンポーネント)

ボタンのボタンを押したときの OnClick 関数は次のとおりです。

public void onClickListenerPM(View v) {
    vibrator.vibrate(30);
    if (press == '=') {
        onClickListenerReset(buttonReset);
    }

    double masag = -1 * Double.parseDouble(EditTextMsg);
    String s = Double.toString(masag);
    editText.setText(s);
}

私がやったことは、 EditText ビューから文字列を取得する ---> double にした ---> Reverse 、それをもう一度文字列に入れ、数字の符号が逆になるようにすることです。---> edittext ビューで表示します。

しかし、ボタンをクリックするたびに、アプリは強制的に閉じます...

何が問題なのですか? ロジックは正しいと思いますが、おそらく変換によって機能が誤動作している可能性があります。(定かではありませんが)

これを引き起こしている可能性のあるものを見つけることができますか?

(これは明らかにアクティビティクラスで定義されています...)

編集: 回答: EditTextMsg = editText.getText().toString();

これを追加するのを忘れました-.-

4

1 に答える 1

2

EditTextString 値をどのように抽出したかを投稿していません。使いましたか...

EditText edit = (EditText)findViewById(R.id.edit_text_id);
String editTextMsg = edit.getText().toString();

・・・toStringここが大事!そして、私はむしろ以下を使用したいと思いDouble.toString()ますtoString(double):

Double masag = -1 * Double.valueOf(editTextMsg);
String s = masag.toString();

ここ。お役に立てれば ...

乾杯!

于 2013-07-30T09:37:28.753 に答える