Android EditText addTextChangedListener对EditText Empty的调用方法

Android EditText addTextChangedListener对EditText Empty的调用方法,android,android-edittext,Android,Android Edittext,这是我的代码,用于检查EditText是否为空 searchEdit.addTextChangedListener(new TextWatcher() { public void onTextChanged(CharSequence s, int start, int before, int count) { Log.v(TAG, "s-->" + s); Log.v(TAG, "count-->" + count);

这是我的代码,用于检查
EditText
是否为空

searchEdit.addTextChangedListener(new TextWatcher() {
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            Log.v(TAG, "s-->" + s);
            Log.v(TAG, "count-->" + count);
            if (count == 0) {
                // call method
            }
}
当我从
EditText
中删除空格时,count返回零,并且调用了我的方法,这是错误的

我也试过这段代码,但当我去掉空格时,len也是零

int len = searchEdit.getText().toString().trim().length();
Log.v(TAG, "len-->" + len);
我输入“us us”,然后按后退键将其删除

日志类别:

s-->u

count-->1

s-->us

count-->2

s-->us

count-->2

s-->us 

count-->1

s-->us u

count-->1

length=5

s-->us us

count-->2

s-->us u

count-->1

s-->us 

count-->0

s-->us

**count-->0**

**s-->**

**count-->0**

s-->us

count-->2

s-->u

count-->1

s-->

count-->0

当用户清除
EditText

请检查此代码时,建议我调用方法的解决方案,我在我的机器上进行了检查,工作正常:

        final EditText editText = new EditText(this);
    editText.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before,
                int count) {
            // TODO Auto-generated method stub
            String ss = editText.getText().toString();
            Log.e("editext", "length ---" + ss.length());
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // TODO Auto-generated method stub

        }

        @Override
        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub

        }
    });
使用
s.length()
获取字符号

if (s.length() == 0)
{
// do your job
}
使用此功能,或许可以帮助您:

String sUsername = searchEdit.getText().toString();
if (sUsername.matches(""))
{
// do your job
}
试试这个

    editText.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            // TODO Auto-generated method stub

        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // TODO Auto-generated method stub

        }

        @Override
        public void afterTextChanged(Editable s) {
            if(TextUtils.isEmpty(s)) {
                // call method
            }
        }
    });

删除空格时,长度为零。很抱歉,这不起作用。你做了一些错误,因为我做了很多次,我没有发生任何错误,所以请发布更多的代码,以便我们能够理解并查看我的更新答案。。它工作得很好。。请检查您的代码两次您只需使用我的代码…s.length()在我删除空间时返回零。您如何删除空间?通过在设备键盘上按back键。您可以在代码中记录s.length()吗?检查它什么时候等于零,为什么等于零,因为我以前用过这个,输入字符串,空格像“hi hello”,然后在我删除空格时按remove back press。length()为零。当我从EditText中删除空格时,会调用它。