Arhn - архитектура программирования

EditText, фокус, проблемы с программной клавиатурой

ОК, у меня есть массив EditTexts, и я хочу пройтись по ним, поэтому, если какой-то EditText не содержит текста, я хочу попросить пользователя ввести данные, и я провел много часов и много читал, но я могу не понимаю, как это должно работать. Итак, несколько вопросов:

Достаточно ли requestfocus()? (Не работает - клавиатура не отображается)

Я пробовал с OnFocusChangeListener, а затем пытался показать клавиатуру (showSoftInput(view,InputMethodManager.SHOW_IMPLICIT)) если фокус на editText снова не работает.

Кто-нибудь знает какой-нибудь хороший пример, чтобы вытащить меня из этого треугольника?


Ответы:


1

view.requestFocus() недостаточно;

Я использую этот код:

public static void setSoftwareKeyboardVisibility(Context context, View view, boolean value) {
        final InputMethodManager manager = (InputMethodManager) context.getSystemService(Service.INPUT_METHOD_SERVICE);
        if (value) {
            view.requestFocus();
            manager.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);
        } else {
            // Any other not EditText View
            manager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.RESULT_UNCHANGED_SHOWN);
            view.requestFocus();
        }
    }

Но Вы сказали, что стандартный метод не работает. Попробуйте вызвать showSoftInput не в методе OnFocusChange. Вызовите его, когда вы устанавливаете фокус на EditText.

03.11.2013
  • Спасибо за ваш ответ, но все же фокус находится на editText, но клавиатура отображается только после того, как я коснусь элемента управления :( 03.11.2013
  • @AdnanPirota, хммм. Вы меняете windowSoftInputMode для своей активности в манифесте? А что такое ценность? 03.11.2013

  • 2

    Я не могу сейчас найти страницу, где я получил решение своей проблемы, но решение было следующим:

    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
    
    03.11.2013

    3

    С помощью editText.requestFocus(), где editText является вашим представлением EditText, вы фокусируете курсор на поле.

    Если вы хотите показать клавиатуру после фокусировки, посмотрите ответ raukodraug здесь.

    24.12.2015
    Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..