Изменить: я просмотрел страницу с ошибкой для этого; никакие ответы не работают. Похоже, это Android
системная ошибка, которая еще не решена.
Во-первых, я сослался на этот аналогичный вопрос. Но решение этого вопроса не похоже на мое решение. У меня есть DialogFragment
, который содержит только WebView
. Все в WebView
кажется осязаемым. Однако проблема в том, что когда я касаюсь поля формы, появляется курсор, но программная клавиатура никогда не появляется!
Вот мой код в методе onCreateDialog()
в классе DialogFragment
:
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
WebView web = new WebView(getActivity());
web.loadUrl(InternetDialog.this.url);
web.setFocusable(true);
web.setFocusableInTouchMode(true);
web.requestFocus(View.FOCUS_DOWN);
web.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_UP:
if (!v.hasFocus()) {
v.requestFocus();
}
break;
}
return false;
}
});
builder.setView(web);
return builder.create();
Как сделать так, чтобы экранная клавиатура отображалась при выборе поля формы?