Android 编辑文本不';t取两个连续值
我是Android开发的初学者。我正在开发一个计算器。在这个计算器中,我使用一个edittext,当用户连续单击两个按钮(如4和5)时,它只需要一个值。表示它将替换为以前的值。我想用586 这是我的Java代码 包com.example.dellpc.calculatorAndroid 编辑文本不';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
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
}