Android 编辑文本不';t取两个连续值

Android 编辑文本不';t取两个连续值,android,calculator,Android,Calculator,我是Android开发的初学者。我正在开发一个计算器。在这个计算器中,我使用一个edittext,当用户连续单击两个按钮(如4和5)时,它只需要一个值。表示它将替换为以前的值。我想用586 这是我的Java代码 包com.example.dellpc.calculator import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import andro

我是Android开发的初学者。我正在开发一个计算器。在这个计算器中,我使用一个edittext,当用户连续单击两个按钮(如4和5)时,它只需要一个值。表示它将替换为以前的值。我想用586

这是我的Java代码 包com.example.dellpc.calculator

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private Button btn0,btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,plus,minus,star,divide,equal,clear;
    private EditText et;
    private  int first,second;
    private String  opp="+";
    private String ops="-";
    private TextView tv1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
        methodListener();
    }
    private void init()
    {
        btn0= (Button)findViewById(R.id.btn0);
        btn1= (Button)findViewById(R.id.btn1);
        btn2= (Button)findViewById(R.id.btn2);
        btn3= (Button)findViewById(R.id.btn3);
        btn4= (Button)findViewById(R.id.btn4);
        btn5= (Button)findViewById(R.id.btn5);
        btn6= (Button)findViewById(R.id.btn6);
        btn7= (Button)findViewById(R.id.btn7);
        btn8= (Button)findViewById(R.id.btn8);
        btn9= (Button)findViewById(R.id.btn9);
        plus= (Button)findViewById(R.id.btnplus);
        minus= (Button)findViewById(R.id.btnminus);
        star=(Button) findViewById(R.id.btnstar);
        divide= (Button)findViewById(R.id.btndivide);
        et = (EditText) findViewById(R.id.et);
        tv1=(TextView)findViewById(R.id.tv1);
    }
    private void methodListener() {

        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
             et.setText("1");
                first=1;
            }
        });
        btn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                et.setText("2");
                second=2;
            }
        });
        btn3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                et.setText("3");
            }
        });
        btn4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                et.setText("4");
            }
        });
        btn5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                et.setText("5");
            }
        });
        btn6.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                et.setText("6");
            }
        });
        btn7.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                et.setText("7");
            }
        });
        btn8.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                et.setText("8");
            }
        });
        btn9.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                et.setText("9");
            }
        });
        plus.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                first= Integer.parseInt(et.getText().toString());
                tv1.setText(first+" rock");
                clear();


            }
        });
        minus.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                tv1.setText(first+" rock");
            }
        });
        equal.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                second =Integer.parseInt(et.getText().toString());
                tv1.setText(second);


            }
        });

    }
    void clear()
    {
        et.setText("");
    }



}

使用
et.setText(et.getText()+“number”)
而不是
et.setText(“number”)

必须为edittext设置如下值:

et.setText(new StringBuilder(et.getText().trim()).append("your_string"));
例如:

et.setText(new StringBuilder(et.getText().trim()).append("1"));
尝试此方法

EditText。setText()将替换旧文本或将新文本设置为EditText

EditText扩展了TextView,因此我们有一个名为的属性,因此您可以执行EditText.append(),因此当您输入按钮时,可以将文本附加到编辑文本。

使用
et.setText(et.getText()+“number”)
private void methodListener() {
btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            mEdit   = (EditText)findViewById(R.id.edittext);
            if( mEdit.getText().toString().equals(" "))
            {
            et.setText("1");
            first=1;// I don't know why you use this.
           }
            else
            {
                String str= mEdit.getText().toString();
                et.setText(str+"1");
            }
        }
    });
 //similarly for all the buttons
}