Вот мое решение этой проблемы:
Поместите фиктивный текст для редактирования, установите его видимость на GONE
и добавьте его в содержащий LinearLayout после добавления WebView в макет.
Пример:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
LinearLayout wrapper = new LinearLayout(this);
WebView webView = new WebView(this);
EditText keyboardHack = new EditText(this);
keyboardHack.setVisibility(View.GONE);
webView.loadUrl(url);
wrapper.setOrientation(LinearLayout.VERTICAL);
wrapper.addView(webView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
wrapper.addView(keyboardHack, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
builder.setView(wrapper);
builder.create().show();
После того, как это будет сделано, все должно работать должным образом, и когда вы выбираете элемент в WebView, клавиатура отображается, как и ожидалось.