Android Studio 如何正确地将EditText转换为Int

wb1gzix0  于 2023-02-13  发布在  Android
关注(0)|答案(1)|浏览(285)

你好,我是新的android工作室,我试图设置一个简单的应用程序,采取了两个数字的总和软管二。我发现了一些关于如何做到这一点,但当我试图将字符串转换为int的应用程序崩溃。你能帮助我吗?
这就是我的方法。

public void do_sum(View v)
   {

    EditText t1 = (EditText) findViewById(R.id.number1);
    EditText t2 = (EditText) findViewById(R.id.button);

    String s1 = t1.getText().toString();
    String s2 = t2.getText().toString();

    int n1 = Integer.parseInt(s1);
    int n2 = Integer.parseInt(s2);

    int res = n1+n2;

    ((EditText) findViewById(R.id.result)).setText(String.valueOf(res));

   }

你能帮帮我吗?

lmvvr0a8

lmvvr0a81#

您的代码中有一个小错误,当从EditText视图获取第二个数字时,您应该使用R.id.number2而不是R. id.按钮:

EditText t1 = (EditText) findViewById(R.id.number1);
EditText t2 = (EditText) findViewById(R.id.number2);

此外,为了避免应用崩溃,您可以添加try-catch块来捕获NumberFormatException,如果s1和s2中的字符串无法解析为整数,则可能会抛出该异常:

try {
    int n1 = Integer.parseInt(s1);
    int n2 = Integer.parseInt(s2);

    int res = n1 + n2;

    ((EditText) findViewById(R.id.result)).setText(String.valueOf(res));
} catch (NumberFormatException e) {
    // Handle the exception here

}

相关问题