我有一个用户可以在字段中输入的URL。
当我使用Android浏览器打开该URL并单击字段时 弹出虚拟键盘。 当我用我的WebView打开相同的URL并单击字段时 虚拟键盘没有出现?!
我该怎么办? 我的代码在下面
LayoutInflater factory = LayoutInflater.from(InviteFriends.this); textEntryView = factory.inflate(R.layout.link,null);
builder = new AlertDialog.Builder(InviteFriends.this);
builder.setTitle("Web view");
builder.setView(textEntryView);
wvLink = (WebView) textEntryView.findViewById(R.id.wv);
wvLink.getSettings().setJavaScriptEnabled(true);
wvLink.loadUrl("http://www.google.com");
wvLink.requestFocus(View.FOCUS_DOWN);
wvLink.setWebViewClient(new WebViewClient()
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
});
builder.setNegativeButton("oK",
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface dialog,
int which) {
try {
if (type == 0) {
}
} catch (Exception e)
{
e.printStackTrace();
}
}
});
alert = builder.create();
alert.show();
提前致谢
答案 0 :(得分:1)
因此,如果我理解正确,您正在AlertDialog
显示该网页,对吧?好吧,我刚遇到了这个问题a few days ago,最后我通过创建自定义Dialog
解决了这个问题。自定义Dialog
不受WebView
bug和AlertDialog
影响。所以你的解决方案看起来像这样:
Dialog dialog = new Dialog(this); dialog.setContentView(R.layout.dialog); dialog.setTitle("Web view"); dialog.setCancelable(true); dialog.show(); WebView vw = (WebView) dialog.findViewById(R.id.wv);
您还需要为内置WebView
和Button
的对话框定义布局。
答案 1 :(得分:0)
这可能与WebView textarea doesn't pop up the keyboard
中讨论的问题相同解决方案似乎是:
问题是webview没有 因此在加载时获得焦点 使用
webView.requestFocus(View.FOCUS_DOWN);
解决了这个问题。
希望这有帮助,
Phil Lello