Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Обработка нажатия на Enter - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android DatePicker с возможностью включать/отключать выбор года http://www.cyberforum.ru/android-dev/thread1528026.html
Здравствуйте! Кто нибудь встречал пристойный DatePicker с возможностью включать/отключать возможность выбора года? Спасибо!
Программирование Android Ошибка: open failed: ENOENT (No such file or directory) Кто нибудь сталкивался с такой ошибкой: open failed: ENOENT (No such file or directory) Что это значит? программа не вылетает, но хотелось бы знать природу ошибки. Caused by:... http://www.cyberforum.ru/android-dev/thread1528013.html
Управление 2d вертолетиком вверх-вниз Программирование Android
Здравствуйте. Пытаюсь реализовать управление 2d вертолетиком вверх-вниз. Использую Character Controller. Ничего не получается, персонаж падает видимо под воздействием гравитации. Подскажите,...
Google Maps местоположение Программирование Android
Ситуевина следующая - подключил гугл карты к своему приложению, теперь надо как-то реализовать кнопку "мое местоположение".. стандартная кнопка не работает, автоматическое местоположение всегда...
Программирование Android Приложение вылетает после перехода на новое активити http://www.cyberforum.ru/android-dev/thread1527809.html
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Программа выдает ошибку и вылетает при переходе на новое активити. В чем ошибка, я не понимаю.. Лог ошибки: DeviceMonitor: Adb...
Программирование Android GPS координаты раздельно по времени и минимальному смещению Стоит задача получать точность измерения (accuracy = location.getAccuracy();) и отправлять ее для контроля, ну, скажем каждые 2 сек. В тоже время нужно при измениени положения на определенную... подробнее

Показать сообщение отдельно
Ranny
0 / 0 / 1
Регистрация: 29.07.2015
Сообщений: 10

Обработка нажатия на Enter - Программирование Android

10.09.2015, 09:38. Просмотров 263. Ответов 0
Метки (Все метки)

Имеется RecyclerView, заполняемый обьектами CardView, которые состоят из 2 EditText, расположенных горизонтально, CardView распологаются вертикально.
Обрабатываю событие нажатия Enter при вводе текста в EditText
Java
1
2
3
4
5
6
7
8
9
10
11
CritViewHolder.critName.setOnKeyListener(new View.OnKeyListener() {
                public boolean onKey(View v, int keyCode, KeyEvent event) {
                    if (event.getAction() == KeyEvent.ACTION_DOWN &&
                            (keyCode== KeyEvent.KEYCODE_ENTER)) {
                        temp.setCriteriaName(CritViewHolder.critName.getText().toString());
 
                        return true;
                    }
                    return false;
                }
            });
работает более менее. Не нравится одна вещь фокус элемента после нажатия на enter смещается не вниз, а по диагонали(если EditText был выделен вручную), но если фокус получен программно смещение идет вниз.
Хотелось бы сделать одно из 2:
1)при нажатии Enter фокус не смещается, клавиатура сворачивается
2)при нажатии Enter фокус всегда смещается вниз, клавиатура не сворачивается

пробовал разные варианты imeOptions но либо 0 изменений, либо не срабатывает условие if(оно конечно понятно почему не срабатывает, но подходящий KeyEvent тоже искал и не нашел) со всеми вытекающими.

Вопрос в том какие сочетания KeyEvent и imeOptions дадут требуемый результат?

Есть еще вариант как-то забиндить значение текста в EditText/ значения адаптера к полям класса, но тут тоже не особо успешны поиски

Добавлено через 1 час 48 минут
Решено
Java
1
2
3
4
5
6
7
8
9
10
11
12
            CritViewHolder.critName.setOnEditorActionListener(new EditText.OnEditorActionListener() {
                @Override
                public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                    if (actionId == EditorInfo.IME_ACTION_DONE) {
                        temp.setCriteriaName(CritViewHolder.critName.getText().toString());
                        hideKeyboard();
                        return true;
                    }
                    return false;
                }
 
            });
imeOptions="actionDone"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru