Android: отключить (или изменить функцию) клавишу возврата, когда AutoCompleteTextView сфокусирован

1

У моего приложения есть AutoCompleteTextView, используемый для поиска. Когда он находится в фокусе, я хотел бы отключить или изменить функцию ключа возврата на конкретный вызов функции. Я попытался в своем макете xml добавить следующее свойство в AutoCompleteTextView

    android:imeOptions="actionDone"

Но он работает на моем симуляторе (когда вы нажимаете кнопку ввода, клавиатура исчезает), но она не работает на моем устройстве (moto droidx работает 2.3.3).

Может ли кто-нибудь показать мне, как я могу связать ключ возврата с определенной функцией (в моем случае, функцией поиска) с андроидом: imeOptions = "actionGo"?

Теги:
return

2 ответа

8
Лучший ответ

Напишите свой код в событии setOnEditorActionListener семейства EditText. как

autoEditText.setOnEditorActionListener(new OnEditorActionListener() {

            public boolean onEditorAction(TextView v, int actionId,
                    KeyEvent event) {
                if (event != null&& (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
                    InputMethodManager in = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                   // in.hideSoftInputFromWindow(autoEditText.getApplicationWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
                   //Commented line is for hide keyboard. Just make above code as comment and test your requirement
                   //It will work for your need. I just putted that line for your understanding only
                   //You can use own requirement here also.
                }
                return false;
            }
        });

Счастливое кодирование :)

1

Для меня это работает, если вы добавите еще одну строку о типе ввода:

android:inputType="text"
android:imeOptions="actionDone"

Ещё вопросы

Сообщество Overcoder
Наверх
Меню