Android: отключить (или изменить функцию) клавишу возврата, когда AutoCompleteTextView сфокусирован - PullRequest
1 голос
/ 01 сентября 2011

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

    android:imeOptions="actionDone"

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

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

Ответы [ 2 ]

8 голосов
/ 01 сентября 2011

Напишите свой код в 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 голос
/ 29 апреля 2013

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

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