Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将空edittext值设置为零_Java_Android_Android Edittext - Fatal编程技术网

Java 将空edittext值设置为零

Java 将空edittext值设置为零,java,android,android-edittext,Java,Android,Android Edittext,我创建了一个简单的程序,试图找出如何做到这一点。它有两个编辑文本字段(输入类型number decimal)、一个文本视图和一个按钮。我希望当用户点击按钮时,两个输入字段的总和显示在文本视图中。有人能告诉我,如果用户将一个编辑文本字段留空,如何将其值设置为零?我试过很多方法,但都不管用。 Edit:我希望在保持编辑文本的提示不变的情况下实现这一点(不要像“setText(“0”);”那样将值更改为零) 这是我的java代码(告诉我要添加什么) 您知道在java中,如果不使用默认值初始化变量,它的

我创建了一个简单的程序,试图找出如何做到这一点。它有两个编辑文本字段(输入类型number decimal)、一个文本视图和一个按钮。我希望当用户点击按钮时,两个输入字段的总和显示在文本视图中。有人能告诉我,如果用户将一个编辑文本字段留空,如何将其值设置为零?我试过很多方法,但都不管用。 Edit:我希望在保持编辑文本的提示不变的情况下实现这一点(不要像“setText(“0”);”那样将值更改为零)

这是我的java代码(告诉我要添加什么)


您知道在java中,如果不使用默认值初始化变量,它的默认值是0吗? 简言之:

try {
        int a;//by default, it will be 0;
        int b = Integer.parseInt(number2.getText().toString());//let it be 2
        int sum = a + b;

        total.setText("" + sum);//Ans will be 2 only

    } catch (Exception e) {
        Toast.makeText(getApplicationContext(), "One or more field is empty", Toast.LENGTH_LONG).show();


    }

如果在a中未输入任何值,它将被设置为0。就像在second edittext中留空并输入2一样,ans将是两个。

您知道在java中,如果不使用默认值初始化变量,它的默认值将是0吗? 简言之:

try {
        int a;//by default, it will be 0;
        int b = Integer.parseInt(number2.getText().toString());//let it be 2
        int sum = a + b;

        total.setText("" + sum);//Ans will be 2 only

    } catch (Exception e) {
        Toast.makeText(getApplicationContext(), "One or more field is empty", Toast.LENGTH_LONG).show();


    }

如果在a中未输入任何值,它将被设置为0。就像在second edittext中留空并输入2一样,ans将为2。

您可以在oncreate方法中设置编辑文本的值0。 像


这对您很有帮助。

您可以在oncreate方法中设置编辑文本的值0。
     public void ZeroingEmpytEditText() {
    int f= 0;  // Zeroing Factor
    if (number1.getText().toString().length() > 0) {
        a = Integer.parseInt(number1.getText().toString());

    } else {
        a=f;

    }

    if (number2.getText().toString().length() > 0) {
        b = Integer.parseInt(number2.getText().toString());

    } else {
        b=f;
    }

    int sum = a + b ;
    total.setText(sum + "");


}


这对您很有帮助。

将xml文件中的文本设置为值“0”此问题的接受答案有效将xml文件中的文本设置为值“0”此问题的接受答案有效仅当您在类级别(字段)上定义变量(在本例中为a)时才是真的,但不是在一个方法中绝对的!+1!但我猜ide会要求你给出一些初始值,对吗?是的,它会在它下面画红色下划线并要求你初始化:)但是如果用户将number2字段留空,它还能工作吗?如果执行上面的代码,这个问题会得到更好的回答。只有在类级别(字段)上定义变量(在本例中是a)时,这才是正确的,而不是在方法内部+我为此付出了代价!但是我猜ide会要求你给出一些初始值,对吗?是的,它会用红色下划线并要求你初始化:)但是如果用户将number2字段留空,它还会工作吗?如果你执行上面的代码,这个问题会得到更好的回答
     public void ZeroingEmpytEditText() {
    int f= 0;  // Zeroing Factor
    if (number1.getText().toString().length() > 0) {
        a = Integer.parseInt(number1.getText().toString());

    } else {
        a=f;

    }

    if (number2.getText().toString().length() > 0) {
        b = Integer.parseInt(number2.getText().toString());

    } else {
        b=f;
    }

    int sum = a + b ;
    total.setText(sum + "");


}