2011-04-08 122 views
0

我有一个用户可以在字段中输入的URL。android webview虚拟键盘

当我用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(); 

预先感谢

回答

1

所以,如果我理解正确的话,你是显示在AlertDialog该网页,对不对?那么,我刚刚有这个问题a few days ago,最后我通过创建自定义Dialog来解决它。自定义Dialog不受WebViewbugAlertDialog的影响。所以,你的解决方案看起来某事像这样:

 
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里面的对话。

0

这可以同样的问题在WebView textarea doesn't pop up the keyboard

溶液讨论似乎是:

的问题是,网页视图不是 获得焦点当它被加载因此 使用

webView.requestFocus(View.FOCUS_DOWN); 

解决了问题。

希望这有助于

菲尔Lello

+0

尝试此代码,但没有得到任何成功的结果 – 2011-04-08 09:16:19

+0

这可能是一个'已知的错误'这里描述http://code.google.com/p/android/issues/detail?id=7189,有一些黑客那可能有帮助的线程 – 2011-04-08 15:23:46