如何在webview中获取edittext的click事件

时间:2012-09-05 06:29:34

标签: android webview touch android-edittext

我正在我的应用中的网页浏览中显示网页。我想只在用户点击/触摸webview中的edittext时才启用屏幕方向。我尝试过以下代码。

 mWebView.setOnTouchListener(new View.OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
            WebView.HitTestResult hr = ((WebView)v).getHitTestResult();
            if(hr!=null){
            if(hr.getType()==HitTestResult.EDIT_TEXT_TYPE)
                ((Activity) context).setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);

            else
                ((Activity) context).setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
            }
            return false;  
            }     
        }); 

但它不适用于2.3以下的操作系统版本。我怎么能在这些版本中做到这一点。请帮助我。我被困在这个..

1 个答案:

答案 0 :(得分:2)

下面用于编辑文本的代码点击webview内部:

WebView web_view = (WebView) subview
                    .findViewById(R.id.webview_mytagdetail_text);

web_view.setWebViewClient(new WebViewClient() {
                public boolean shouldOverrideUrlLoading(WebView view, String url) {

                    Intent in = new Intent(getActivity(), URL_SCREEN.class);
                    in.putExtra("URL", url);
                    startActivity(in);

                    return true;

                }
            });

            web_view.getSettings().setJavaScriptEnabled(true);
            web_view.getSettings().setLoadWithOverviewMode(true);
            web_view.getSettings().setBuiltInZoomControls(true);
            web_view.getSettings().setDisplayZoomControls(false);

            web_view.loadDataWithBaseURL("", campaignClass.getCampaignDesc(),
                    "text/html", "UTF-8", "");