2014-11-19 4 views
4

Я хочу показать программную клавиатуру Android для загрузки страницы и программную фокусировку поля ввода.Как программно открыть Android-клавиатуру в соответствии с типом ввода html в андроиде webview

$('#field').focus(); 

Насколько я исследовал, это невозможно сделать иначе, чем созданные пользователем события, такие как событие click.

Так что я попытался обходным путем, чтобы сфокусировать поле ввода и показать клавиатуру Android вручную, используя этот код.

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.toggleSoftInputFromWindow(myWebView.getWindowToken() , InputMethodManager.SHOW_IMPLICIT , 0); 

Клавиатура успешно отображает и поле ввода также получает фокус. Но проблема в том, что она показывает только стандартную клавиатуру. Я хочу показать клавиатуру в соответствии с указанным типом ввода.

Подобно этому, если поле ввода является:

<input type="number" id="field" name="field"/> 

Над обходной показывает стандартный текст клавиатуру, но я хочу, чтобы показать числовую клавиатуру в зависимости от типа в поле ввода.

+0

у вас нашли решение .. ??? – Coder29

ответ

-1

Попробуйте это:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0); 
+0

Это покажет или спрячет мягкую клавиатуру, но OP спрашивает, как изменить макет из альфы в числовой. – user149408

1

Я искал много времени, прежде чем я нашел решение.

Добавить это:

imm.restartInput(view); 

после showSoftInput.

Это будет «пересчитывать» тип клавиатуры, отображаемый в отношении сфокусированного ввода.

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

  • Нет связанных вопросов^_^