Android Studio/Java: изменение действия кнопки ввода, при этом не позволяя ей выполнять автоматическое действиеAndroid

Форум для тех, кто программирует под Android
Anonymous
Android Studio/Java: изменение действия кнопки ввода, при этом не позволяя ей выполнять автоматическое действие

Сообщение Anonymous »

Когда я нажимаю кнопку ввода с фокусом на EditText в своем приложении Android, фокус переключается на следующий EditText. Я добавил функциональность к кнопке ввода в классе Java, но не могу понять, как правильно отключить этот переключатель фокуса (который является естественной функцией клавиши ввода). Я использую

Код: Выделить всё

xml android:inputType="numberDecimal"
тип клавиатуры.
Вот как я добавляю функциональность кнопке ввода в Java:

Код: Выделить всё

mMyEditText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) {

//This code occurs when enter is clicked on the keyboard on this EditText.
//press button:
mMyButton.performClick();

return true;
}
return false;
}
});
Это добавляет функциональности кнопке ввода! Но когда я нажимаю кнопку ввода, он все равно переходит к следующему EditText.
Мой вопрос основан на другом вопросе: Android: перехват действия для нажатия кнопки ввода с клавиатуры
На этот вопрос Ксавер Капеллер упомянул: «Вы можете указать, какое действие выполняется нажатием клавиши ENTER, указав android:imeOptions в XML».
Я попробовал это, добавив следующую строку кода в мой EditText в xml:

Код: Выделить всё

android:imeOptions="actionDone"
Это был единственный выбор imeOptions, который частично сработал. Оно:
-отключает кнопку ввода от перехода к следующему EditText.
-делает приведенный выше код неработающим, что вызывает указанное выше действие ввода.
-отключает клавиатуру при вводе нажал.

Код: Выделить всё

android:imeOptions="actionNone"
Кажется, что это должно работать, но он все равно переходит к следующему EditText.
Мне бы понравился вариант, который удерживает клавиатуру поднятой и позволяет мне делайте и другие вещи.
Заранее спасибо за помощь!

Подробнее здесь: https://stackoverflow.com/questions/787 ... ng-it-from

Вернуться в «Android»