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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 56, средняя оценка - 4.89
Tkas
1 / 1 / 0
Регистрация: 26.02.2012
Сообщений: 42
#1

Как программно убрать клавиатуру после нажатия кнопки "Далее"? - Программирование Android

27.11.2013, 18:38. Просмотров 7987. Ответов 8
Метки нет (Все метки)

Здравствуйте, уважаемые форумчане. Я недавно начал изучать android и столкнулся со следующей проблемой: я сделал поле ввода, и после ввода текста я нажимаю в телефоне кнопку далее, но ничего не происходит, клавиатура не сдвигается вниз, чтобы я мог сделать, например, сохранение в базу данных. Подскажите пожалуйста, как при нажатии на клавиатуре кнопки "Далее" самого телефона (не эмулятора) - убрать клавиатуру?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2013, 18:38     Как программно убрать клавиатуру после нажатия кнопки "Далее"?
Посмотрите здесь:
Как сделать приложение полноэкранным и убрать вспомогательные кнопки "назад, главный экран." Android
Отключить перескакивание между edittext после нажатия "готово" Android
Визуализация нажатия на изображение. Как поставить картинку на "нажатие" Android
Android EditText и добавление символов в него через собственную "клавиатуру"
Android Возможно ли программно позвонить по номеру? НЕ через Intent, а так, как это делает приложение "Телефон"
Android Как убрать кнопку "меню"?
Как обработать нажатие кнопки "Назад", чтобы открывался рекламный баннер? Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
27.11.2013, 20:01     Как программно убрать клавиатуру после нажатия кнопки "Далее"? #2
Поставьте у EditText'а такой аттрибут.
XML
1
android:imeOptions="actionDone"
в коде:

Java
1
2
3
4
5
6
7
8
9
10
11
12
yourEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                if (actionId == EditorInfo.IME_ACTION_DONE) {
                    //Hide keyboard
                    if (getCurrentFocus() != null) {
                        ((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE))
                                yourActivity.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
                    }
                }
                return false;
            }
        });
Tkas
1 / 1 / 0
Регистрация: 26.02.2012
Сообщений: 42
27.11.2013, 20:06  [ТС]     Как программно убрать клавиатуру после нажатия кнопки "Далее"? #3
YuraAAA, спасибо. А метод hideSoftInputFromWindow нужно создать самому?
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
27.11.2013, 20:09     Как программно убрать клавиатуру после нажатия кнопки "Далее"? #4
Цитата Сообщение от Tkas Посмотреть сообщение
hideSoftInputFromWindow
Это метод активити. android dev
Tkas
1 / 1 / 0
Регистрация: 26.02.2012
Сообщений: 42
27.11.2013, 20:12  [ТС]     Как программно убрать клавиатуру после нажатия кнопки "Далее"? #5
YuraAAA, а у меня MainActivity наследуется от FragmentActivity, возможно из-за этого ошибка?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
27.11.2013, 21:33     Как программно убрать клавиатуру после нажатия кнопки "Далее"? #6
наверное так:
Java
1
2
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
Tkas
1 / 1 / 0
Регистрация: 26.02.2012
Сообщений: 42
27.11.2013, 21:45  [ТС]     Как программно убрать клавиатуру после нажатия кнопки "Далее"? #7
V0v1k, спасибо большое, вы мне очень помогли!
Wenceslaus
Android Developer
130 / 130 / 4
Регистрация: 05.07.2013
Сообщений: 205
28.11.2013, 12:16     Как программно убрать клавиатуру после нажатия кнопки "Далее"? #8
Ещё один вариант в копилку: для EditText'а устанавливаем атрибут
XML
1
android:singleLine="true"
а все остальным пусть занимается ОС.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2013, 18:23     Как программно убрать клавиатуру после нажатия кнопки "Далее"?
Еще ссылки по теме:
Как восстановить значения при открытии приложения после нажатия кнопки назад Android
Android Как убрать клавиатуру?
Как убрать клавиатуру в EditText? Android
Программно установить android:layout_gravity="bottom" Android
Работа со звуком - "На самом устройстве" - Программно Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Tkas
1 / 1 / 0
Регистрация: 26.02.2012
Сообщений: 42
30.11.2013, 18:23  [ТС]     Как программно убрать клавиатуру после нажатия кнопки "Далее"? #9
Wenceslaus, спасибо за ответ, я не знал такого способа, но у меня при нажатии на ОК выполняется действие добавления в базу данных, поэтому атрибутов мне будет недостаточно.
Yandex
Объявления
30.11.2013, 18:23     Как программно убрать клавиатуру после нажатия кнопки "Далее"?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru