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

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

Войти
Регистрация
Восстановить пароль
 
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,645
Записей в блоге: 3
#1

Скрыть клавиатуру - Программирование Android

19.11.2015, 13:18. Просмотров 882. Ответов 7
Метки нет (Все метки)

Есть активность, в нем фрагменты.
В фрагменте 1 если открыть клавиатуру и перейти на другой фрагмент не закрывая клавиатуру вручную то во втором фрагменте клавиатура открыта..
Как это исправить?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2015, 13:18     Скрыть клавиатуру
Посмотрите здесь:

скрыть клавиатуру - Программирование Android
как сделать, чтобы после нажатия кнопки лупы (на клавиатуре) клавиатура пряталась автоматически?

Не могу скрыть клавиатуру - Программирование Android
Использую вот такой код, чтобы скрыть клавиатуру: InputMethodManager imm = (InputMethodManager)...

Показать/скрыть экранную клавиатуру - Программирование Android
Есть родительский Activity, в нем пользователь переключается между 4мя фрагментами. В одном фрагменте один EditText и Button. как...

Заблокировать клавиатуру - Программирование Android
Требуется заблокировать клавиатуру, чтобы она не появлялась, когда EditText попадает в фокус, но при этом оставался видимым курсор и текст...

Убрать клавиатуру - Программирование Android
Есть Navigation Activity, там EditText. Проблема в том, что если напечатать в нем что-то, а потом, не убирая клавиатуры, нажать на шторку,...

Спрятать клавиатуру в EditText - Программирование Android
На экране есть несколько EditText. Нужно, чтобы при нажатии на определенный из них не выдвигалась клавиатура. Как это можно реализовать и...

Убрать цифровую клавиатуру - Программирование Android
Добрый день! В приложении есть интент который использую в качестве окна с настройками. Он состоит из вертикального LinearLayout в котором...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
19.11.2015, 13:40     Скрыть клавиатуру #2
Так вариантов решения может быть несколько.
Например, если есть один-два поля ввода, которые достают клавиатуру то можно на них повесить OnFocusChangeListener и там прятать клавиатуру.
где-то в классе
Java
1
2
3
4
5
6
7
8
9
10
11
        final View.OnFocusChangeListener listener = new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if (!hasFocus) hideKeyboard();
            }
        };
 
    private void hideKeyboard() {
        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0);
    }
и например есть один EditText
Java
1
2
        EditText ed = (EditText) findViewById(R.id.ed);
        ed.setOnFocusChangeListener(listener);
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,645
Записей в блоге: 3
19.11.2015, 14:10  [ТС]     Скрыть клавиатуру #3
Паблито, Спасибо, вроде как работает как надо)

Вопрос:
А если при клике в любую область дисплея проверять EditText это или нет и в случае если нет закрывать клавиатуру это слишком тупо?)
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
19.11.2015, 14:15     Скрыть клавиатуру #4
я когда-то делал так - на главный-корневой лаяут вешал onTouchListener, ловил им нажатие и когда случался ACTION_UP - прятал клавиатуру

а что бы этот слушатель пропускал дальше обработку касаний, в нем надо делать return false;
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
19.11.2015, 14:20     Скрыть клавиатуру #5
Цитата Сообщение от ILNAR_93 Посмотреть сообщение
В фрагменте 1 если открыть клавиатуру и перейти на другой фрагмент не закрывая клавиатуру вручную то во втором фрагменте клавиатура открыта..
Как это исправить?
Ну если нужно исправить именно эту проблему - закрывать клавиатуру при смене фрагмента самый верный способ.
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,645
Записей в блоге: 3
19.11.2015, 15:03  [ТС]     Скрыть клавиатуру #6
Цитата Сообщение от Spelcrawler Посмотреть сообщение
Ну если нужно исправить именно эту проблему
В идеале конечно при клике не в EditText надо закрывать
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
19.11.2015, 15:55     Скрыть клавиатуру #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
вот, затестировал еще вариант
в активити переопределяем метод
Java
1
2
3
4
5
    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        if (ev.getAction() ==  MotionEvent.ACTION_DOWN) hideKeyboard();
        return super.dispatchTouchEvent(ev);
    }
profit, прячется даже при клике на гамбургер, дровер, тулбар и т.д.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2015, 16:17     Скрыть клавиатуру
Еще ссылки по теме:

Программно заблокировать клавиатуру - Программирование Android
Как из приложения можно заблокировать клавиатуру и экран моб телефона от нажатий пользователя? или как переопределить событие от клавиши...

Как убрать клавиатуру? - Программирование Android
У меня есть DialogFragment, в нем поле для ввода. Если при клике на нем появляется клавиатура, а потом диалог закрывается, то клавиатура...

Как применить собственную клавиатуру? - Программирование Android
Всем привет) Я сделал свою клавиатуру но не подумал об этом( как прошить его к девайсу?? прогуглил ничо толком не нашел,,должен же быть...

Как открыть клавиатуру Android без xml - Программирование Android
Всем привет, мне очень нужно открыть клавиатуру android без потребности xml файла(кроме manifest'а конечно). Я сам пока нуб в java,...

Edit text как вызвать клавиатуру виртуальную - Программирование Android
Есть EditText скрытый = GONE... и И по на жатию на button я EditText присваиваю = VISIBLE; но на нем нету фокуса сразу... Таки как на него...


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

Или воспользуйтесь поиском по форуму:
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,645
Записей в блоге: 3
19.11.2015, 16:17  [ТС]     Скрыть клавиатуру #8
Паблито, спасибо! То что нужно!
Yandex
Объявления
19.11.2015, 16:17     Скрыть клавиатуру
Ответ Создать тему
Опции темы

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