【问题标题】:not able to enter text in webview on nexus 4 android 4.2.2无法在nexus 4 android 4.2.2上的webview中输入文本
【发布时间】:2013-05-29 13:42:58
【问题描述】:

我正在尝试在 web 视图中打开一个网页,它在 andoid 4.1.2 及更低版本上运行良好,但是当我在 android 4.2.2 即 nexus 4 中尝试相同的代码时,它没有从键盘获取任何输入。

当我点击网页上的任何编辑文本时,键盘会打开,它也会显示编辑文本的焦点,但是一旦我按下任何字符键盘焦点就会从编辑文本中丢失,并且在该字段上没有输入任何内容。低是我的代码

mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.getSettings().setPluginState(PluginState.ON);
        mWebView.getSettings().setAllowFileAccess(true);
        mWebView.setWebViewClient(new MyWebViewClient());
        mWebView.clearHistory();
        mWebView.clearFormData();
        mWebView.clearCache(true);
        mWebView.loadUrl(strUrl);
        mWebView.requestFocus();


/**
     * webview client
     */
    private class MyWebViewClient extends WebViewClient {
        @Override
        // show the web page in webview but not in web browser
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if ( !getSuceessParams(url) )
                view.loadUrl(url);
            return true;
        }

        @Override
        public void onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host, String realm) {
            handler.proceed("checkin", "4good");
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            System.out.println("onPageFinished " + url);
            context.removeDialog(0);
            super.onPageFinished(view, url);
        }

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            System.out.println("onPageStarted " + url);
            Fragment fragment = context.getLastFragment();
            if ( fragment.getTag() == "campaign_donation_web_fragment" ) {
                CheckinLibraryActivity.strProgressMessage = "Loading..";
                context.showDialog(0);
            }
            super.onPageStarted(view, url, favicon);
        }
    }

我收到以下错误

****Should not happen: no rect-based-test nodes found

谢谢

【问题讨论】:

    标签: android android-webview android-4.2-jelly-bean


    【解决方案1】:

    我遇到了类似的问题,似乎通过不使用 SwiftKey 键盘而不是使用 Google 键盘来解决。 http://support.swiftkey.net/forums/116693-2-bug-reports/suggestions/3808949-phonegap-app

    【讨论】:

      【解决方案2】:

      在我的例子中 TabHost 来自返回堆栈中的前一个片段,正在窃取每次按键的焦点。这是我修复它的方法:

      tabHost.addOnAttachStateChangeListener(new OnAttachStateChangeListener() {
        @Override
        public void onViewDetachedFromWindow(View v) {}
      
        @Override
        public void onViewAttachedToWindow(View v) {
          tabHost.getViewTreeObserver().removeOnTouchModeChangeListener(tabHost);
        }
      });
      

      有关该主题的更多信息,请参阅https://code.google.com/p/android/issues/detail?id=2516

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-07
        • 2017-08-04
        • 1970-01-01
        • 2013-11-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多