我正在使用TextWatcher
,但无法检测到事件中的Backspace关键。TextWatcher.afterTextChange
我也想textView
在某些情况下清除textWatcher
事件。
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
// I want to detect backspace key here
}
我正在使用TextWatcher
,但无法检测到事件中的Backspace关键。TextWatcher.afterTextChange
我也想textView
在某些情况下清除textWatcher
事件。
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
// I want to detect backspace key here
}
要检测 中的退格TextWatcher
,您可以检查传递给onTextChange
函数的变量计数(如果输入退格,则计数将为 0),如下所示:
@Override
public void onTextChanged(CharSequence cs, int start, int before, int count) {
if (react) {
if (count == 0) {
//a backspace was entered
}
//clear edittext
if(/*condition*/) {
react = false;
setText("");
react = true;
}
}
}
boolean
() 函数需要反应,setText
否则它会变得递归。希望这可以帮助!
AKeyListener
可以满足你的两个条件。
mEditText.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_DEL){
//on backspace
}
return false
}
});
类似地onKey()
,在您想要清除textView
.
编辑:正如@RankoR指出的那样,请记住,它onKeyListener()
仅适用于硬件键盘,不适用于软键盘。