android webview virtualkey board

时间:2011-04-08 05:05:43

标签: android

我有一个用户可以在字段中输入的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();

提前致谢

2 个答案:

答案 0 :(得分:1)

因此,如果我理解正确,您正在AlertDialog显示该网页,对吧?好吧,我刚遇到了这个问题a few days ago,最后我通过创建自定义Dialog解决了这个问题。自定义Dialog不受WebView bugAlertDialog影响。所以你的解决方案看起来像这样:

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);

您还需要为内置WebViewButton的对话框定义布局。

答案 1 :(得分:0)

这可能与WebView textarea doesn't pop up the keyboard

中讨论的问题相同

解决方案似乎是:

  

问题是webview没有   因此在加载时获得焦点   使用

webView.requestFocus(View.FOCUS_DOWN);
     

解决了这个问题。

希望这有帮助,

Phil Lello