我正在使用TextWatcher
,我無法檢測到退格鍵鍵TextWatcher.afterTextChange
事件。我還想在textWatcher
事件的某些情況下清除textView
。在TextWatcher中檢測退格
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
// I want to detect backspace key here
}
我正在使用TextWatcher
,我無法檢測到退格鍵鍵TextWatcher.afterTextChange
事件。我還想在textWatcher
事件的某些情況下清除textView
。在TextWatcher中檢測退格
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
// I want to detect backspace key here
}
A KeyListener
可以滿足您的兩個條件。
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()
僅適用於硬件鍵盤,而不是軟鍵盤。
爲了檢測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
()函數需要它,否則它變成遞歸。希望這可以幫助!
你的'TextWatcher'的代碼好嗎? – Swayam
公共無效afterTextChanged(編輯S){ \t \t \t \t \t \t \t // TODO自動生成方法存根 \t \t \t \t \t \t \t //我想在這裏檢測退格鍵 \t \t \t \t \t \t \t \t \t \t \t \t} –