这是我检查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
计数中删除空格返回零时,我的方法被调用,这是错误的。
我也试过这段代码但是当我删除空格时,同样的问题len为零
int len = searchEdit.getText().toString().trim().length();
Log.v(TAG, "len-->" + len);
我输入了“us us”,然后按回去按..
Log cat:
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
时,建议我调用方法。
答案 0 :(得分:0)
请检查此代码,我在我的机器上检查了它并且工作正常。:
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
}
});
答案 1 :(得分:0)
使用s.length()
获取字符编号。
if (s.length() == 0)
{
// do your job
}
使用它,也许可以帮助你:
String sUsername = searchEdit.getText().toString();
if (sUsername.matches(""))
{
// do your job
}
答案 2 :(得分:0)
试试这个......
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
}
}
});