Android - показать программную клавиатуру по требованию - PullRequest
0 голосов
/ 25 июня 2011

Привет! Я обернул элемент управления edittext на элемент управления, который отображается на экране по запросу пользователя.Он перекрывает весь экран, пока пользователь не нажмет кнопку «Готово» на клавиатуре.

Я не могу явно отобразить элемент управления на экране.только когда пользователь нажимает на элемент управления только тогда, когда он отображается.Я что-то упустил?

Я даже пробую это, и оно не всплывает, когда я запускаю оверлей, на котором существует Редактировать текст:

customCOntrol.showKeyboard();

public void showKeyboard()
    {
        InputMethodManager imm = (InputMethodManager)_context.getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(this._textView.getWindowToken(), InputMethodManager.SHOW_IMPLICIT);
    }

вот настройка, которую я имею наСам экран в конфигурационном файле android: windowSoftInputMode = "stateHidden | AdjustPan"

Заранее спасибо

Ответы [ 2 ]

9 голосов
/ 25 июня 2011

В вашей функции showKeyboard вы вызываете:

 imm.hideSoftInputFromWindow(this._textView.getWindowToken(), InputMethodManager.SHOW_IMPLICIT);

Это скроет клавиатуру softInput из окна!Хотите показать клавиатуру?Если да, то вы бы использовали:

 imm.showSoftInput(view, flags, resultReceiver);

РЕДАКТИРОВАТЬ: Я думаю, что вы также можете переключить клавиатуру из InputMethodManager, попробуйте:

 imm.toggleSoftInput(0, 0);
0 голосов
/ 31 января 2017

@ dropsOfJupiter

Вы можете сделать: editText.requestFocus () при запуске действия или фрагмента, содержащего ссылку на EditText. Это даст фокус на EditText и приведет к SoftKeyboard.

Надеюсь, это поможет.

...