我创建了一个简单的程序来尝试找出如何做到这一点。它有两个编辑文本字段(输入类型数字十进制)、一个 TextView 和一个按钮。我希望当用户点击按钮时,两个输入字段的总和显示在 TextView 中。有人可以告诉我,如果用户将其留空,如何将一个编辑文本字段的值设置为零?我尝试了很多方法但没有任何效果。 编辑:我想实现这一点,同时像以前一样保留编辑文本的提示(而不将值更改为零,如“setText("0"); ”。
这是我的java代码(告诉我要添加什么)
package com.example.android.testedittexttozero;
import...
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void calculate(View v) { //the button
final EditText number1 = (EditText) findViewById(R.id.numberFirst);
EditText number2 = (EditText) findViewById(R.id.numberSecond);
TextView total = (TextView) findViewById(R.id.totalTV);
try {
int a = Integer.parseInt(number1.getText().toString());
int b = Integer.parseInt(number2.getText().toString());
int sum = a + b;
total.setText("" + sum);
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "One or more field is empty", Toast.LENGTH_LONG).show();
}
}
}
最佳答案
你知道在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。就像如果你留空,并在第二个编辑文本中输入 2,那么 ans 仍然是 2..
关于java - 将空的 edittext 值设置为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38304227/