在我的片段中,我想拦截事件"删除(软按钮)按下"来自软件键盘,在EditText上。
我可以使用以下代码执行此操作:
positionEditText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int keyCode, KeyEvent keyEvent) {
if(keyCode == KeyEvent.KEYCODE_DEL) {
Log.d("TAG", "OnKeyListener, premuto BACKSPACE");
backspacePressed = true;
return true;
}
return false;
}
});
问题是这样做,我无法正确删除编辑文本。删除功能仅在我按住删除按钮时才有效。
答案 0 :(得分:1)
if(keyCode == KeyEvent.KEYCODE_DEL) {
Log.d("TAG", "OnKeyListener, premuto BACKSPACE");
backspacePressed = true;
return true; // This is the problem
}
通过返回 true ,你告诉系统......我将处理。删除它,它会工作。
答案 1 :(得分:0)
试试这个:
positionEditText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int keyCode, KeyEvent keyEvent) {
if(keyCode == KeyEvent.KEYCODE_DEL) {
Log.d("TAG", "OnKeyListener, premuto BACKSPACE");
backspacePressed = true;
}
return false;
}
});