2

電卓を作成しようとすると、* の行が実行されると、「演算子 + は java.lang.charsequence に適用できません」というエラーが表示されるボタン メソッドがあります。誰かがこれを回避する方法を知っている場合は、助けてください。

    public void Button_Click(View view) {
    TextView result = (TextView) findViewById(R.id.result);
    Button b = (Button)view;
    if ((result.getText() == "0")||(operation_pressed))
        result.setText("");
    operation_pressed = false;

    if (b.getText() == ".") {
        result.getText() = result.getText() + b.getText()); ***
    }
}    

ありがとう

4

1 に答える 1

0

charsequence を String に変換するには、.toString() を CharSequence オブジェクトに適用します。 + 演算子を使用しても問題ありません。

[ https://docs.oracle.com/javase/7/docs/api/java/lang/CharSequence.html][1]

また、構文エラーがあるようです:

   result.getText() = result.getText() + b.getText()); *** the last ) is too much

さらに、getText() に書き込むことはできません。Getter (getXXX() で示される) を使用して値を取得し、Setter (setXXX() で示される) を使用して値をオブジェクトに格納する必要があります。

result.setText(result.getText().toString() + b.getText().toString())

于 2014-11-11T08:16:26.377 に答える