当用户在EditText上输入文本后选择Back并且键盘消失后,如何捕获事件?
答案 0 :(得分:4)
在您的Activity类中覆盖onBackPressed:
@Override
public void onBackPressed() {
//If keyboard is on, do what you want
super.onBackPressed();
}
答案 1 :(得分:1)
如果您想在用户在EditText中输入文本后抓住后退键并按下后退键,则应使用:
EditText edit = (EditText)findViewById(R.id.yourId);
edit.setOnKeyListener(new EditText.OnKeyListener(){
public boolean onKey(View v, int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
System.out.println("******back key caught in edit.setOnKeyListener");
}
return false;
}
});
答案 2 :(得分:1)
我遇到了同样的问题。 Vineet Shukla的答案无效,直到我确定委托是EditText.OnKeyListener。在此之前,它是一个View.OnKeyListener,我没有看到KeyEvent.KEYCODE_BACK == keyCode,因为我甚至看到onKey曾经被调用过。我希望这对有类似问题的人有帮助,虽然这篇文章已经有一年了。欢呼声。