我已经在edittext上应用了onkeylister()&它不是在三星galaxy s3上工作,而是在所有其他手机上工作……
不知道我做错了什么…
et = (EditText) findViewById(R.id.editText1);
et.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View arg0, int keyCode, KeyEvent arg2) {
// TODO Auto-generated method stub
// You can identify which key pressed buy checking keyCode value
// with KeyEvent.KEYCODE_
if (keyCode == KeyEvent.KEYCODE_DEL) {
// this is for backspace
Log.d("Button Event", "BackSpace Pressed");
if (et.getSelectionStart() < length + 1) {
return true;
} else {
return false;
}
}
return false;
}
});
最佳答案
您可以尝试使用et.addTextChangedListener(new textWatcher()..)并将所有逻辑移到它的aftertextChanged(…)回调。
onKeyListener()只通过硬件键盘上的事件调用,如View.OnKeyListener's description中所述。