在EDITTEXT条件

问题描述 投票:0回答:4

我有点一些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); :它只是不工作,我总是在想我所有的领域已经与一些填充在第一条件结束

android android-edittext settext
4个回答
1
投票

只是检查每个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();
}

0
投票

你想要的代码是检查字符串的长度中的EditText

if( EditText.getText().length() > 0 ){
    do something here if text exists
   }else{
    do something else here if empty
        }

0
投票

你应该改变你的input.getText() != nullinput.getText().toString().equals("")。如果的EditText字段为空,这意味着它包含一个空字符串(文本=“”),不为null。

这样做的最简单的和“最漂亮”的方式等是使用TextUtils.isEmpty()


0
投票

你好你可以试试这个方法也。

    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;
}
© www.soinside.com 2019 - 2024. All rights reserved.