抱歉,如果这是一个低质量的问题,但仍然是一个问题:)在这里,我使用一种简单的方法检查EditText的null,
public String theuser=null;
public String thepass=null;
EditText u=(EditText)findViewById(R.id.inputuser);
this.theuser = u.getText().toString();
EditText p =(EditText)findViewById(R.id.inputpassword);
this.thepass = p.getText().toString();
if ((theuser.equals(null))||(thepass.equals(null))){
Toast.makeText(this,"Username and Password Cant Be Empty!",
Toast.LENGTH_SHORT).show();
}else{
Log.i("lifemate","did you click me ?!"+theuser+" "+thepass);
BusProvider.getInstance().post(SendRequestInfo());
}
但是空检查似乎不起作用!我尝试过.equals(null)和.equals(“”)仍然无法正常工作!你们知道为什么吗?
等于合同规定:
对于任何非null参考值x,x.equals(null)应该返回false。
但是,当x
是null
这将导致NullPointerException
一个的,因为你要访问一个方法null
的对象。
简而言之x == null
而不是x.equals(null)
。
但是你的情况
您正在测试中的文本值TextView
。我并不希望这是null
特别的,因为您呼吁toString()
这样做CharSequence
。因此,如果有的话,这将是空的,即您可以执行以下操作:
if ("".equals(theuser) || "".equals(thepass)) {
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句