str1.equals(str2)来判断,不能用==或者!=来判断,原因:
因为String是引用类型的,不是基本数据类型,所以它们的比较是使用地址和值(相当于C中的指针)来比较的,因为它们是不同的对象,有不同的地址,所以str1!=str2永远都是true。而str1==str2永远是false。如果你中想比较它们的数值是否相等就使用str1.equals(str2)。使用==或者!=是对象的比较,它们为真的条件是:不仅要求是同一对象,而值也要求相等。
因此判断editText输入是否为空,可以这样来:
if("".equals(editText.getText().toString().trim()))
上面这行代码的意思是:
""代表空,什么都没输入。
equals的意思是""跟equals后面括弧里的东西进行对比,如果一样就为空。括弧里的就是实际输入的东西
editText.getText()就是取得里面的东西。toString()转化为字符串。trim()的意思是,拿到里面的东西后,把前后的空格都过滤掉。
直接在xml里设置editText的输入限制为:数字这样程序就不用判断了,要么什么都没有,要么就是数字。
android:inputType="number"
edittext的属性里,还可以限制最多可以输入的字符个数,即length。
android:maxLength="3"
一个综合的下例子:
if("".equals(et.getText().toString()))
{
new AlertDialog.Builder(this)
.setMessage("身高不能为空")
.setPositiveButton("Ok", null)
.show();
return;
}
还可以这样来判断是否输入为空:
mEditText.getText().length()== 0
mEditText.getText().toString() == null
mEditText.getText().toString().equals("")