2015-12-10 3 views
0

Я добавил пользовательскую клавиатуру в свое приложение. Он работает правильно при использовании другого приложения, имеющего текстовые входы. Я изменил settings/language and input так, чтобы он был включен и также использовался по умолчанию.Android - Как показать пользовательскую клавиатуру

Моя проблема заключается в том, что я не знаю, как это показать в моем приложении. У меня есть представление, где я рисую экран терминала с помощью холста. Текстового ввода нет, но мне нужна клавиатура для отображения.

Как заставить клавиатуру отобразиться? Я видел несколько способов сделать это, используя манифест, используя диспетчер методов ввода и т. Д. ... но никто не работал в моем случае. Должен ли я фокусировать вход для отображения клавиатуры? Разве я не могу просто показать его и спрятать, когда захочу?

спасибо.

EDIT: Предназначен для отображения клавиатуры путем добавления ввода текста и нажатия на него. Но я до сих пор не знаю, как показать это без ввода текста.

ответ

1

Вы заявили, что он по умолчанию. Таким образом, вы можете просто сделать его показать вручную:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.showSoftInput(yourEditText, InputMethodManager.SHOW_IMPLICIT); 

Чтобы скрыть:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.hideSoftInputFromWindow(yourEditText.getWindowToken(), 0); 

Таким образом, пользователю не нужно нажимать на ввод текста, чтобы сделать ключевой совет показать. Если это поможет, пожалуйста, примите.

EDIT

Вы должны также запросить фокус:

yourEditText.requestFocus() 
+0

Спасибо за вашу помощь, но я попробовал этот путь, а также несколько других вариантов (toggleSoftInput, showSoftInput и т.д.). Кажется, это не работает для нескольких человек. – Virus721

+0

@ Virus721 Я думаю, у меня есть решение для вас. Попробуйте добавить это: 'yourEditText.requestFocus();'. Вероятно, он должен работать! –

+0

@ Virus721 Проверить мои изменения –

Смежные вопросы