Поиск вместо разрыва строки - EditText - PullRequest
0 голосов
/ 01 июля 2011

Я делаю словарь. Я хочу, чтобы когда я нажимал «Enter», EditText не вставлял новую строку и вместо этого делал поиск. Как это сделать?

Я пробовал OnKey, OnKeyDown, OnEditorAction, но это не работает Когда я нажимаю «Enter», EditText вставляет новую строку.

public boolean onEditorAction(final TextView v, final int actionId, final KeyEvent event) {
    System.out.println("OnEditor.");
    if (actionId == EditorInfo.IME_ACTION_SEARCH ||
            actionId == EditorInfo.IME_ACTION_DONE ||
            event.getAction() == KeyEvent.ACTION_DOWN &&
            event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
        System.out.println("OnEditor.");
    }

    return true;
}

Обновление: imeOption не работает.

Ответы [ 4 ]

2 голосов
/ 20 января 2012

Вместо устаревшего атрибута singleLine вы должны использовать

android:inputType="text"

для принудительного однострочного ввода.

0 голосов
/ 01 июля 2011

добавить следующую строку в ваш текст для редактирования

android:imeOptions="actionSend|flagNoEnterAction"
0 голосов
/ 01 июля 2011

Вы также можете ограничить текст редактирования одной строкой, используя

android:singleLine="true"
0 голосов
/ 01 июля 2011

Вам необходимо установить атрибут android: imeOptions в вашем XML, который будет отображать соответствующую кнопку клавиатуры.Затем вы можете прослушать вызов onEditorAction.

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