检查EditText是否为空。 [关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检查EditText是否为空。 [关闭]相关的知识,希望对你有一定的参考价值。

我在android中有5个EditTexts供用户输入。我想知道我是否可以有一个方法来检查所有5个EditTexts,如果它们是空的。有没有办法做到这一点?

答案

我做过一次这样的事情;

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;
}
另一答案

我使用这个方法,使用trim()来避免空格:

EditText myEditText = (EditText) findViewById(R.id.editUsername);
if ("".equals(myEditText.getText().toString().trim()) {
    Toast.makeText(this, "You did not enter a value!", Toast.LENGTH_LONG).show();
    return;
}

一个例子,如果你有几个EditText

if (("".equals(edtUser.getText().toString().trim()) || "".equals(edtPassword.getText().toString().trim()))){
        Toast.makeText(this, "a value is missing!", Toast.LENGTH_LONG).show();
        return;
}
另一答案
if(TextUtils.isEmpty(textA.getText())){
            showToast(it's Null");
        }

您可以像我的示例一样使用TextUtils.isEmpty!祝好运

另一答案
private boolean hasContent(EditText et) {
       return (et.getText().toString().trim().length() > 0);
}
另一答案

如果EditText为空,为什么不禁用按钮?恕我直言这看起来更专业:

        final EditText txtFrecuencia = (EditText) findViewById(R.id.txtFrecuencia);  
        final ToggleButton toggle = (ToggleButton) findViewById(R.id.toggleStartStop);
        txtFrecuencia.addTextChangedListener(new TextWatcher() {
        @Override
        public void afterTextChanged(Editable s) {
            toggle.setEnabled(txtFrecuencia.length() > 0);
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before,
                int count) {

        }
       });
另一答案

我用TextUtils

if (TextUtils.isEmpty(UsernameInfo.getText())) {
    validationError = true;
    validationErrorMessage.append(getResources().getString(R.string.error_blank_username));
}
另一答案

您还可以在一个If条件中检查所有EditText字符串:像这样

if (mString.matches("") || fString.matches("") || gender==null || docString.matches("") || dString.matches("")) {
                Toast.makeText(WriteActivity.this,"Data Incomplete", Toast.LENGTH_SHORT).show();
            }
另一答案

我想做类似的事情。但是从编辑文本中获取文本值并将其与(str=="")进行比较对我来说并不适用。所以更好的选择是:

EditText eText = (EditText) findViewById(R.id.etext);

if (etext.getText().length() == 0)
{//do what you want }

工作就像一个魅力。

另一答案

使用If ELSE If条件尝试此操作。您可以轻松验证您的editText字段。

 if(TextUtils.isEmpty(username)) {
                userNameView.setError("User Name Is Essential");
                return;
         } else  if(TextUtils.isEmpty(phone)) {
                phoneView.setError("Please Enter Your Phone Number");
                return;
            }
另一答案

您可以为每个编辑文本调用此函数:

public boolean isEmpty(EditText editText) {
    boolean isEmptyResult = false;
    if (editText.getText().length() == 0) {
        isEmptyResult = true;
    }
    return isEmptyResult;
}
另一答案
EditText txtUserID = (EditText) findViewById(R.id.txtUserID);

String UserID = txtUserID.getText().toString();

if (UserID.equals("")) 

{
    Log.d("value","null");
}

您将在LogCat中看到该消息....

另一答案
private boolean isEmpty(EditText etText) {
    if (etText.getText().toString().trim().length() > 0) 
        return false;

    return true;
}

或者作为每个audrius

  private boolean isEmpty(EditText etText) {
        return etText.getText().toString().trim().length() == 0;
    }

如果函数返回false意味着edittext是not empty并返回true意味着edittext是empty ...

另一答案

“看看这个,我相信你会喜欢它。”

log_in.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        username=user_name.getText().toString();
        password=pass_word.getText().toString();
        if(username.equals(""))
        {
            user_name.setError("Enter username");
        }
        else if(password.equals(""))
        {
            pass_word.setError("Enter your password");
        }
        else
        {
            Intent intent=new Intent(MainActivity.this,Scan_QRActivity.class);
            startActivity(intent);
        }
    }
});
另一答案

使用TextUtils.isEmpty("Text here");作为单行代码

另一答案
EditText edt=(EditText)findViewById(R.id.Edt);

String data=edt.getText().toString();

if(data=="" || data==null){

 Log.e("edit text is null?","yes");

}

else {

 Log.e("edit text is null?","no");

}

对所有五个编辑文本都这样做

另一答案

您可以使用setOnFocusChangeListener,它会在焦点变化时进行检查

        txt_membername.setOnFocusChangeListener(new OnFocusChangeListener() {

        @Override
        public void onFocusChange(View arg0, boolean arg1) {
            if (arg1) {
                //do something
            } else {
                if (txt_membername.getText().toString().length() == 0) {
                    txt_membername
                            .setError("Member name is not empty, Plz!");
                }
            }
        }
    });
另一答案
if ( (usernameEditText.getText()+"").equals("") ) { 
    // Really just another way
}
另一答案

我更喜欢使用ButterKnife列表绑定,然后在列表上应用操作。例如,对于EditTexts的情况,我在实用程序类中定义了以下自定义操作(在本例中为ButterKnifeActions

public static <V extends View> boolean checkAll(List<V> views, ButterKnifeActions.Check<V> checker) {
    boolean hasProperty = true;
    for (int i = 0; i < views.size(); i++) {
        hasProperty = checker.checkViewProperty(views.get(i), i) && hasProperty;
    }
    return hasProperty;
}

public static <V extends View> boolean checkAny(List<V> views, ButterKnifeActions.Check<V> checker) {
    boolean hasProperty = false;
    for (int i = 0; i < views.size(); i++) {
        hasProperty = checker.checkViewProperty(views.get(i), i) || hasProperty;
    }
    return hasProperty;
}

public interface Check<V extends View> {
    boolean checkViewProperty(V view, int index);
}

public static final ButterKnifeActions.Check<EditText> EMPTY = new Check<EditText>() {
    @Override
    public boolean checkViewProperty(EditText view, int index) {
        return TextUtils.isEmpty(view.getText());
    }
};

在视图代码中,我将EditTexts绑定到列表,并在需要检查视图时应用操作。

@Bind({R.id.edit1, R.id.edit2, R.id.edit3, R.id.edit4, R.id.edit5}) List<EditView> edits;
...
if (ButterKnifeActions.checkAny(edits, ButterKnifeActions.EMPTY)) {
    Toast.makeText(getContext(), "Please fill in all fields", Toast.LENGTH_SHORT).show();
}

当然,这种模式可

以上是关于检查EditText是否为空。 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何检查edittext是不是为空?

Kotlin优雅地判断EditText数据是否为空

Kotlin优雅地判断EditText数据是否为空

Kotlin优雅地判断EditText数据是否为空

*ngIf 检查数组为空,然后显示消息 [关闭]

片段中的Tablayout + viewpager,需要清除viewpager中的edittext数据