如何检查EditText是否有值?

时间:2016-07-13 21:50:32

标签: android android-edittext

我有EditTextButton

我想要在点击EditTextButton为空。我希望将消息显示为祝酒词,例如"请输入一个号码"。

5 个答案:

答案 0 :(得分:3)

您可以这样做:

boolean hasValue = editText.getText().length() > 0;

boolean hasValue = !editText.getText().toString().isEmpty();

或确保它不仅包含空格:

boolean hasValue = !editText.getText().toString().trim().isEmpty();

答案 1 :(得分:1)

点击按钮时使用此功能:

  EditText editText = (EditText) view.findViewById(EditTextID);
    if(editText.getText().toString().length()==0) {
    Toast alert = Toast.makeText(context, toast_message, Toast.LENGTH_SHORT);
    alert.show();
    }

答案 2 :(得分:1)

最简洁的方法是TextUtils.isEmpty(editText.getText()) 我说这是最干净的方式是因为:

  • 您可以避免在CharSequenceString之间进行无意义的转换。这会创建一个对象。 editText.getText()返回Editable,调用toString()会创建一个不好的附加对象。根据我的经验,此方法也永远不会返回null。
  • 您可以获得nulllength支票。如果您查看TextUtils.isEmpty()的代码,它基本上会检查CharSequence是否为null且长度为零。
  • 它避免了代码重复,同样的方法可以与StringCharSequence个对象一起使用,EditableCharSequence的实现。
  • 它是作为Android框架的一部分提供的。

如果要检查修剪过的字符串的长度。然后使用:

TextUtils.isEmpty(editText.getText()) 
            && TextUtils.getTrimmedLength(editText.getText()) == 0 

如果需要,您可以创建自己的实用程序方法来执行此操作,这样您就不必在代码中重复添加这么长的条件。

我会将OnFocusChangeListener附加到您的EditText以检查价值变化或TextWatcher或两者,具体取决于您的要求的严重程度。如果您的字段有焦点而丢失,请使用OnFocusChangeListener进行验证,如果您的字段具有焦点并且用户正在键入并删除内容或内容太短,请使用TextWatcher让他们知道。

答案 3 :(得分:0)

在按钮的onClickListener()中:

int length = editText.getText().length();
if(length == 0)
{
    Toast.makeText(getActivity(), "Please enter a number",Toast.LENGTH_LONG).show();
}

答案 4 :(得分:0)

你可能已经找到了答案,但对于那些来这里希望找到答案的人来说,这是怎么回事:

你必须首先在你的按钮功能中创建一个String对象或Int对象点击这样写:

@Override
    public void onClick(View view) {
    String numberValue;
                    numberValue = yourEditText.getText().toString();
                    if (emailEtValue.matches("")){
                        Snackbar sbEmptyValue = Snackbar.make(view, "You must enter an Integer Value", Snackbar.LENGTH_LONG);
                        sbEmptyValue.show();
                    } else {
                        //DO THE THING YOU WANT
                    }
}

您也可以使用 Toast ,但我更喜欢Snackbar,因为它比 Toast 更酷。