Android键盘在验证后在webview中无法工作。

17 浏览
0 Comments

Android键盘在验证后在webview中无法工作。

我有一个安卓应用程序,在webview中打开了一个Jquery移动站点。该页面包含大约20个表单字段。键盘工作正常,我可以在一个带有maxlength=5属性的input[type=number]框中输入,直到我输入6位数。之后,键盘停止工作。当我点击一个元素,它获得焦点并弹出键盘,但是键盘不会获取键盘输入的值。可能是什么问题?如何解决?

主活动:

mWebview = new WebView(this);

mWebview.getSettings().setJavaScriptEnabled(true);

mWebview.getSettings().setGeolocationEnabled(true);

mWebview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);

mWebview.getSettings().setSupportMultipleWindows(true);

mWebview.getSettings().setCacheMode(mWebview.getSettings().LOAD_NO_CACHE);

mWebview.addJavascriptInterface(new WebAppInterface(this), "Android");

mWebview.loadUrl(WebUrl);

setContentView(mWebview);

清单XML:

webview中的HTML:

日志:

05-03 12:58:01.593: I/SurfaceTextureClient(5044): [0x53289e48] frames:4, duration:1.222000, fps:3.271073

05-03 12:58:02.570: E/SpannableStringBuilder(5044): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length

05-03 12:58:02.571: E/SpannableStringBuilder(5044): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length

05-03 12:58:02.572: V/InputMethodManager(5044): Starting input: view=android.webkit.WebView@41da5668

05-03 12:58:02.572: V/InputMethodManager(5044): Starting input: tba=android.view.inputmethod.EditorInfo@41ddf148 ic=android.webkit.WebViewClassic$WebViewInputConnection@41e0d6f0

05-03 12:58:02.573: V/InputMethodManager(5044): START INPUT: android.webkit.WebView@41da5668 ic=android.webkit.WebViewClassic$WebViewInputConnection@41e0d6f0 tba=android.view.inputmethod.EditorInfo@41ddf148 controlFlags=#0

05-03 12:58:02.574: V/InputMethodManager(5044): Starting input: Bind result=InputBindResult{com.android.internal.view.IInputMethodSession$Stub$Proxy@41dada48 com.android.inputmethod.latin/.LatinIME #166}

05-03 12:58:02.574: W/IInputConnectionWrapper(5044): endBatchEdit on inactive InputConnection

05-03 12:58:02.710: I/SurfaceTextureClient(5044): [0x53289e48] frames:3, duration:1.111000, fps:2.699259

05-03 12:58:04.126: I/SurfaceTextureClient(5044): [0x53289e48] frames:3, duration:1.421000, fps:2.109934

我在iball slide(4.0.3)中没有这个问题,在HCL me connect-v3(4.1.2)中有问题。由于这是我们员工使用的私人应用程序,我们将在这些平板电脑上使用它。

0
0 Comments

问题原因:布局中的TabHost的子视图可能会干扰webview的焦点。

解决方法:将这些视图的focusable属性设置为"false"。

代码示例:

for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) {
  tabHost.getTabWidget().getChildAt(i).setFocusable(false);
}

补充信息:作为一个前端开发人员,我对原生Android编程完全不熟悉。我在Nexus设备上也遇到了同样的问题,但在Moto G和Moto E上没有。由于我使用的是最新版本的Cordova,我应该怎么办?抱歉,我从未使用过Cordova FW,但肯定有相同的API设置焦点状态的方法。

0
0 Comments

问题原因:在WebView中,Android键盘在验证后无法正常工作。

解决方法:尝试将"maxlength=5"替换为onkeypress="if(this.value.length > 4) return false;"

0