我有点一些EDITTEXT挣扎:S I想一些条件来检查用户填写一个字段或不:我的代码似乎没有工作。
编码 :
...
input.setText("rrr");
input2.setText("rrr");
AlertDialog.Builder builder = new AlertDialog.Builder(ctx);
builder.setCancelable(true);
builder.setTitle("Add a friend");
builder.setMessage("Fill in the fields you know :");
builder.setView(layout);
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
if(input.getEditableText() != null && input2.getEditableText() != null && input3.getEditableText() != null){
Dialog d = new Dialog(ctx);
d.setTitle("BLiBLiBLi !");
d.show();
}else if(input.getEditableText() != null && input2.getEditableText() != null && input3.getEditableText() == null){
Dialog d = new Dialog(ctx);
d.setTitle("BLABLABLA !");
d.show();
}
...
你可以看到,第一2个字段,有一个setText(“RRR”);但不是第三个......所以第二个条件应该指出的(如果我没有在第三输入填写),我应该得到的BLABLABLA消息,但我总是专注得到BLiBLiBLi:'((这只是一个测试当然:p)
我已经试图改变input.getEditableText()= null与input.getEditableText()的toString = “” 或者设置输入这样input.setText( “”)!。!;或input.setText(NULL); :它只是不工作,我总是在想我所有的领域已经与一些填充在第一条件结束
只是检查每个EditText
文本的长度。这将做你想要什么?
if(input.getText().toString().length() > 0 && input2.getText().toString().length() > 0 && input3.getText().toString().length() > 0 ){
Dialog d = new Dialog(ctx);
d.setTitle("BLiBLiBLi !");
d.show();
} else if(input.getText().toString().length() > 0 && input2.getText().toString().length() > 0 && input3.getText().toString().length() == 0 ) {
Dialog d = new Dialog(ctx);
d.setTitle("BLABLABLA !");
d.show();
}
你想要的代码是检查字符串的长度中的EditText
if( EditText.getText().length() > 0 ){
do something here if text exists
}else{
do something else here if empty
}
你应该改变你的input.getText() != null
到input.getText().toString().equals("")
。如果的EditText字段为空,这意味着它包含一个空字符串(文本=“”),不为null。
这样做的最简单的和“最漂亮”的方式等是使用TextUtils.isEmpty()
你好你可以试试这个方法也。
EditText usernameEditText = (EditText) findViewById(R.id.editUsername);
sUsername = usernameEditText.getText().toString();
if (sUsername.matches("")) {
Toast.makeText(this, "You did not enter a username",Toast.LENGTH_SHORT).show();
return;
}