显示一个提示,他们必须把字段完全。但是这段代码仍然接受即使名字是null和号码是进入。
我怎么能够测试字段是否被用户填全?我想要显示一个提示,希望他们把字段都填全。但是下边这段代码,即使名字是空的,仍然是接收。
public void onClick(View arg0)
{
switch(arg0.getId())
{
case R.id.bSQLUpdate:
boolean diditwork = true;
try
{
String name = sqlName.getText().toString();
String number = sqlNumber.getText().toString();
GroupDb entry = new GroupDb(ContactDb.this);
entry.open();
if(name != null && number != null)
{
if((!entry.hasDuplicateNameNumber(name, number)) )
{
entry.createEntry(name, number);
}
else
{
diditwork = false;
Dialog d = new Dialog(this);
d.setTitle("Error");
TextView tv = new TextView(this);
tv.setText("Duplicate name or number. Please try again.");
d.setContentView(tv);
d.show();
sqlName.setText("");
sqlNumber.setText("");
}
}
else
{
diditwork = false;
Dialog d = new Dialog(this);
d.setTitle("Error");
TextView tv = new TextView(this);
tv.setText("Please fill up all fields. Please try again.");
d.setContentView(tv);
d.show();
sqlName.setText("");
sqlNumber.setText("");
}
entry.close();
}
catch(Exception e)
{
diditwork = false;
String error = e.toString();
Dialog d = new Dialog(this);
d.setTitle("Update failed");
TextView tv = new TextView(this);
tv.setText(error);
d.setContentView(tv);
d.show();
sqlName.setText("");
sqlNumber.setText("");
}
finally
{
if(diditwork)
{
Dialog d = new Dialog(this);
d.setTitle("Contact list updated");
TextView tv = new TextView(this);
tv.setText("Success");
d.setContentView(tv);
d.show();
sqlName.setText("");
sqlNumber.setText("");
}
}
break;
case R.id.bSQLOpenView:
Intent intent = new Intent();
intent.setClass(ContactDb.this, CustomListView.class);
startActivityForResult(intent, 0);
break;
}
}
用null测试下你的字符串。当文本框是空的时候字符串的名字不是null,它是一个空字符串。所以像下边这个比较一下
if(!name.trim().equals("") && !number.trim().equals("")){
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。