Отправка KeyEvent после завершения текущего события? - PullRequest
0 голосов
/ 16 октября 2011

У меня есть OnKeyListener (), живущий в классе, который расширяет EditText, который при нажатии клавиши ввода проверяет определенный символ в конце строки и, если он существует, отправляет другой KeyEvent для отправки вкладки, нажимая назад к EditText. Но происходит то, что он добавляет вкладку, а затем создает новую строку. Мне нужна вкладка после создания новой строки. Есть ли что-нибудь, что вызывается после методов OnKeyListener () / OnKey (), которые я могу поместить в «событие табуляции»? Или по-другому? Спасибо.

1 Ответ

1 голос
/ 16 октября 2011

Вы можете добавить перевод строки и табуляцию в свой метод onKey, а затем вернуть true, чтобы указать, что событие было использовано для предотвращения последующей обработки исходного перевода строки.

public boolean onKey (final View view, final int i, final KeyEvent keyEvent) {
    Editable editableText = ((EditText)view).getText();

    if (shouldAppendTab(editableText)) {
        editableText.append('\n');
        editableText.append('\t');
        return true;
    }
    return false;
}

Замените shouldAppendTab (editableText) на ваш код, чтобы определить, хотите ли вы добавить вкладку.

...