我创建了一个添加两个数字的应用程序但是当编辑文本为空时按下按钮的应用程序一直停止
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我创建了一个添加两个数字的应用程序但是当编辑文本为空时按下按钮的应用程序一直停止相关的知识,希望对你有一定的参考价值。
这是我的代码,但是当我按下按钮而不给数字应用程序整天停止时请告诉我我能为此做些什么代码如下
公共类MainActivity扩展Activity {TextView结果;
EditText editText1, editText2;
Button btnadd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText1 = (EditText) findViewById(R.id.editText1);
editText2 = (EditText) findViewById(R.id.editText2);
btnadd = (Button) findViewById(R.id.btnadd);
result = (TextView) findViewById(R.id.textviewresult);
btnadd.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view) {
int a = Integer.parseInt(editText1.getText().toString());
int b = Integer.parseInt(editText2.getText().toString());
int add = a + b;
result.setText("Answer: " + String.valueOf(add));
}
});
答案
试试这个,也限制编辑文本只允许数字..
`````````````````
int a = 0;
int b = 0;
if(!editText1.getText().toString().trim().equalsIgnoreCase(""))
a = Integer.parseInt(editText1.getText().toString());
if(!editText2.getText().toString().trim().equalsIgnoreCase(""))
b = Integer.parseInt(editText2.getText().toString());
int add = a + b;
result.setText("Answer: " + String.valueOf(add));
```````````````````````
另一答案
问题是Integer.parseInt无法解析空字符串
所以我查了一下
我修改了你的代码
public class MainActivity extends AppCompatActivity {
TextView result;
EditText editText1, editText2;
Button btnadd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText1 = (EditText) findViewById(R.id.editText1);
editText2 = (EditText) findViewById(R.id.editText2);
btnadd = (Button) findViewById(R.id.btnadd);
result = (TextView) findViewById(R.id.textviewresult);
btnadd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int a;
int b;
if (editText1.getText().toString().matches("")) {
a=0;
} else{
a = Integer.parseInt(editText1.getText().toString());
}
if (editText2.getText().toString().matches("")) {
b = 0;
}else {
b = Integer.parseInt(editText2.getText().toString());
}
int add = a + b;
result.setText("Answer: " + String.valueOf(add));
}
});
}
}
另一答案
private void intiView() {
edt1 = findViewById(R.id.edt1);
edt2 = findViewById(R.id.edt2);
btnSum = findViewById(R.id.btnSum);
txtAns=findViewById(R.id.txtAns);
btnSum.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!edt1.getText().toString().isEmpty() && !edt2.getText().toString().isEmpty()) {
sum = Integer.parseInt(edt1.getText().toString()) + Integer.parseInt(edt2.getText().toString());
Toast.makeText(Main2Activity.this, "Sum of two nos: " + sum, Toast.LENGTH_LONG).show();
txtAns.setText(""+sum);
} else if (edt1.getText().toString().isEmpty()) {
edt1.setError("Please enter no1 ");
} else if (edt2.getText().toString().isEmpty()) {
edt2.setError("Please enter no2 ");
}
}
});
}
以上是关于我创建了一个添加两个数字的应用程序但是当编辑文本为空时按下按钮的应用程序一直停止的主要内容,如果未能解决你的问题,请参考以下文章