【问题标题】:android webview keyboard doesn't appear for long time to input valuesandroid webview键盘长时间不出现输入值
【发布时间】:2011-11-13 23:47:35
【问题描述】:

我有一个带有 WebView 的 Android 3.0 应用程序。 webview 打开一个使用 java 脚本的网站。打开网站工作正常。但是每当我点击 TextField 时,键盘都不会出现。

我已经尝试过: Tapping form field in WebView does not show soft keyboard

但没有成功。键盘似乎很快就出现了,然后消失了。 从我的角度来看,这是由一些 javascript 引起的。这是其中一个输入字段的 html:

<input id="ToolbarOkCode" class="urEdf2TxtEnbl" type="Text" style="text-align:;width:150px;" value="" name="ToolbarOkCode" lsevents="{'Change':[{'ClientAction':'none'},{'type':'TOOLBARINPUTFIELD'}],'Enter':[{'ClientAction':'submit','PrepareScript':'return its.XControlSubmit();','ResponseData':'delta','TransportMethod':'partial'},{'type':'TOOLBARINPUTFIELD','~XRequest':'X'}]}" lsdata="{0:'',1:'',2:'',3:20,4:200,5:false,6:false,7:true,8:false,9:false,10:'STRING',11:'F4LOOKUP',12:'150px',13:'LEFT',14:false,15:'',16:false,17:false,18:false,19:'AUTO',20:true,21:'NONE',22:'MM/dd/yyyy',23:false,24:'',25:'',26:false,27:false,28:'',29:'NORMAL',30:1,31:false,32:0,33:0}" ct="I" autocomplete="off" ti="0" tabindex="0" maxlength="200">

【问题讨论】:

  • 我在我的项目中遇到了完全相同的问题,其中包含许多根据应用程序状态获得/失去可见性的视图。在仅使用一个 WebView 的简单活动上测试“点击 WebView 中的表单字段不显示软键盘”解决方案时,问题就解决了。我确实尝试从所有其他视图中删除可聚焦性,但这个问题一直存在。提供赏金......

标签: android webview android-softkeyboard


【解决方案1】:

我找到了我的问题的解决方案,虽然它非常具体,但我希望它会在某个时候对某人有所帮助......

我扩展了WebViewClient,并覆盖了它的一些功能。 当我在 onLoadResource() 上加载一个支持 javascript: 时,我的问题就开始了。由于某种原因,这样做导致整个键盘异常。我将脚本移动到onPageFinished() 上运行,WebView 再次正常运行。

【讨论】:

  • 嗨罗特米兹。你能分享你的代码吗?将不胜感激!来自奥地利的问候!
  • 嗨,马丁,如果它可以帮助某人,我会分享我的代码,但我所经历的奇怪的键盘行为是由于我在我的应用程序中做了几件非常具体的事情(包括在每个网站上运行 javascript 代码)我在我的 webView 中加载),尝试发布一个包含代码的问题,我会看看我是否能识别出这种模式的东西。
【解决方案2】:

我已经使用了你的代码,然后尝试在 android 2.2 上运行。它工作正常并显示键盘输入值。我发布了我运行的完整代码

        String str="<input id=\"ToolbarOkCode\" class=\"urEdf2TxtEnbl\" type=\"Text\" style=\"text-align:;width:150px;\" value=\"d\" " +
            " name=\"ToolbarOkCode\" lsevents=\"{'Change':[{'ClientAction':'none'},{'type':'TOOLBARINPUTFIELD'}],"+
        "'Enter':[{'ClientAction':'submit','PrepareScript':'return its.XControlSubmit();','ResponseData':'delta','TransportMethod':'partial'},"+
        "{'type':'TOOLBARINPUTFIELD','~XRequest':'X'}]}\" lsdata=\"{0:'',1:'',2:'',3:20,4:200,5:false,6:false,7:true,8:false,9:false,10:'STRING',11:"+
        "F4LOOKUP',12:'150px',13:'LEFT',"+
        "14:false,15:'',16:false,17:false,18:false,19:'AUTO',20:true,21:'NONE',22:'MM/dd/yyyy',23:false,24:'',25:'',26:false,27:false,28:'',"+
        "29:'NORMAL',30:1,31:false,32:0,33:0}\"" +
        "ct=\"I\" autocomplete=\"off\" ti=\"0\" tabindex=\"0\" maxlength=\"200\">";
   WebView webView=new WebView(this);
   webView.setFocusableInTouchMode(true);
   webView.loadData(str, "Text/html","utf-8");
   setContentView(webView);

希望对你有帮助:)

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-14
  • 1970-01-01
  • 1970-01-01
  • 2021-09-26
相关资源
最近更新 更多