【问题标题】:Webview html input form not showing/allowing keyboardWebview html输入表单不显示/允许键盘
【发布时间】:2012-02-13 14:21:45
【问题描述】:

我需要一些关于显示/允许键盘显示和输入的帮助。

我的基本应用程序有一个带有按钮的主屏幕,单击按钮会打开一个 web 视图,我的一个按钮会打开一个带有输入表单的 HTML 页面的 web 视图。当你点击输入框时,键盘不显示,而当你在模拟器上使用硬件键盘时,它只会显示中文建议并且不输入任何文本。

【问题讨论】:

    标签: android html keyboard webview


    【解决方案1】:

    正如布伦特建议的那样,以下行将达到目的 -

    webView.requestFocus(View.FOCUS_DOWN);
    

    发生这种情况是因为在页面加载时网页失去了焦点,所以这一行只是将焦点带回页面。

    对于最终遇到这个问题的人,关于这个话题的详细讨论是here

    【讨论】:

      【解决方案2】:

      这些都不适合我。 但是将所有应用程序的 webViewStyle 应用到 webview 解决了一切问题。

      在 webview 定义中使用 style="?android:attr/webViewStyle" 修复了该问题,如下所示:

      <?xml version="1.0" encoding="utf-8"?>
      <WebView
      xmlns:android="http://schemas.android.com/apk/res/android"
      style="?android:attr/webViewStyle"
      android:id="@+id/webview"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"/>
      

      【讨论】:

      • 我必须在扩展和覆盖一些 WebView 方法后添加它。具体来说,我为链接添加了一个上下文菜单。出于某种原因,这阻止了键盘显示,很奇怪,也许我错过了一些东西。
      【解决方案3】:

      我自己通过进一步的谷歌搜索解决了这个问题我将我的 webview 声明为

      WebView wb;
      

      当我启动我的 webview(在我的情况下是单击按钮)时,您将传递 requestFocus 语句...

      public void onMyButtonClick01(View view)  
      {  
          Toast.makeText(this, "Haha!", Toast.LENGTH_SHORT).show(); 
          wb = new WebView(this);
          wb.loadUrl("http://www.test.html");
          setContentView(wb);  
          wb.requestFocus(View.FOCUS_DOWN);
      }       
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-28
        • 1970-01-01
        • 2012-06-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-11
        • 2016-12-21
        相关资源
        最近更新 更多