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