Событие, когда пользователь выбирает обратно? - PullRequest
1 голос
/ 05 августа 2011

Как я могу поймать событие, когда пользователь после того, как он ввел текст в EditText, выбирает Назад и клавиатура исчезает?

Ответы [ 3 ]

4 голосов
/ 05 августа 2011

Переопределить onBackPressed на вашем классе активности:

    @Override
    public void onBackPressed() {
        //If keyboard is on, do what you want
        super.onBackPressed();
    }
1 голос
/ 08 сентября 2012

У меня была такая же проблема.Ответ Винет Шуклы не работал, пока я не удостоверился, что делегатом был EditText.OnKeyListener.До этого это был View.OnKeyListener, и я не видел KeyEvent.KEYCODE_BACK == keyCode, поскольку я даже видел, что onKey когда-либо вызывался.Я надеюсь, что это полезно для кого-то, имеющего подобную проблему, хотя этому посту год.Приветствия.

1 голос
/ 05 августа 2011

Если вы хотите перехватить клавишу возврата, когда пользователь закончил ввод текста в 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;
                }

            });
...