Как сохранить DropDownList AutoCompleteTextView открытым после нажатия клавиши «Назад»? - PullRequest
4 голосов
/ 15 марта 2012

Я использую AutoCompleteTextView в своей деятельности, и мне нужно, чтобы его DropDownList отображался постоянно (это единственный вид в окне), даже после нажатия клавиши «Назад».Вместо этого мне нужно отклонить программную клавиатуру.

Я попытался переопределить метод onBackPressed для Activity, но он вообще не используется, поэтому событие BackPressed обрабатывается где-то "выше".Поэтому я попытался выяснить, где, но AutoCompleteTextView не определил метод onBackPressed.

Любые советы?

Ответы [ 2 ]

2 голосов
/ 09 сентября 2013

Вы можете создать свой собственный AutoCompleteTextView и переопределить метод onKeyPreIme (int keyCode, событие KeyEvent)

Я также понял, что этот метод вызывается 2 раза, я выполняю свой код только во второй раз.Вот пример:

@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == 1) {
        //add your code here
        return true;
    }
    return super.onKeyPreIme(keyCode, event);
}
0 голосов
/ 15 марта 2012

Вы можете попробовать это

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
            //Your back key press logic
    }
    return true;
}

Не забудьте вернуть true, чтобы предотвратить дальнейшее распространение этого события, или false, чтобы указать, что вы не обработали это событие и его следует продолжать распространять.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...