我制作了一个带有两个数字的应用,但是当编辑文本为空并且按下按钮时,应用不断停止

时间:2019-04-16 17:11:18

标签: android

这是我的代码,但是当我按下按钮却没有给号码应用程序整天停止时,请告诉我该怎么办。代码在下面给出

公共类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));


             }
             });

3 个答案:

答案 0 :(得分:0)

尝试此操作,也将编辑文本限制为仅允许数字。

`````````````````
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));
```````````````````````

答案 1 :(得分:0)

问题是Integer.parseInt无法解析空字符串

error message

所以我检查了

Check if EditText is empty.

我这样修改了您的代码

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));


        }

    });
}

}

答案 2 :(得分:0)

SET STATISTICS IO ON