Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 搜寻及;突出显示webview中显示的html网页中的单词?_Javascript_Android_Html_Webview - Fatal编程技术网

Javascript 搜寻及;突出显示webview中显示的html网页中的单词?

Javascript 搜寻及;突出显示webview中显示的html网页中的单词?,javascript,android,html,webview,Javascript,Android,Html,Webview,我想在android webview中搜索并突出显示一个单词,我尝试过使用此代码,但它不起作用。我的代码在这里: webview.findAll("a"); webview.setSelected(true); webview.findNext(true); try { for (Method m : WebView.class.getDeclaredMethods()) { if (m.getName().equals("setFindIsUp")) {

我想在android webview中搜索并突出显示一个单词,我尝试过使用此代码,但它不起作用。我的代码在这里:

webview.findAll("a");
webview.setSelected(true);
webview.findNext(true);

try {
    for (Method m : WebView.class.getDeclaredMethods()) {
        if (m.getName().equals("setFindIsUp")) {
            // m.setAccessible(true);
            m.invoke(webview, true);
            break;
        }
    }
} catch (Exception ignored) 
{
    Log.i("highlight error", ignored.toString());
}

此代码没有在所选单词上设置任何突出显示,也没有给出任何错误,因此请告诉我如何在webview中搜索和选择单词,目前我正在尝试android版本3.2?

在您的webview布局上设置搜索按钮。 设置WebView,然后按如下所示设置搜索按钮。弹出对话框有一个取消按钮、一个搜索按钮和一个搜索词的编辑文本。当按下搜索时,EditText字符串的每个匹配项都将在WebView中高亮显示

    final Activity activity = this;

    webView = (WebView) findViewById(R.id.yourWebView);  
    webView.setScrollbarFadingEnabled(false);  
    webView.setHorizontalScrollBarEnabled(false);  
    webView.getSettings().setJavaScriptEnabled(true);  
    webView.clearCache(true); 

    webView.setWebChromeClient(new WebChromeClient() {
        public void onProgressChanged(WebView view, int progress) {
        progressDialog.setCanceledOnTouchOutside(true);
        progressDialog.setTitle("Loading Web Page");
        progressDialog.setIcon(R.drawable.ic_menu_allfriends);
        progressDialog.setButton("Cancel", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {  
                webView.destroy();
                finish();
                } });
        progressDialog.show();
        progressDialog.setProgress(0);
        activity.setProgress(progress * 1000);
        progressDialog.incrementProgressBy(progress);
        if(progress == 100 && progressDialog.isShowing())
                progressDialog.dismiss();
        }
    });

    webView.loadUrl(yourStringURL);

    Button search = (Button) findViewById(R.id.butSearch);
    search.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
        //set up button for search keyword of the webView                 
            final Dialog dSearch = new Dialog(myActivity.this);
            dSearch.setContentView(R.layout.search_keyword);
            dSearch.setCancelable(true);
            dSearch.setTitle(getString(R.string.yourTitle));

            Button cancel = (Button) dSearch.findViewById(R.id.searchCancel);
            cancel.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                    dSearch.dismiss();
                }
            });

            Button search = (Button) dSearch.findViewById(R.id.searchAdd);
            search.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                    EditText etkw = (EditText) dSearch.findViewById(R.id.searchword);
                    String keyword = etkw.getText().toString();
                    dSearch.dismiss();
                    webView.findAll(keyword);
                    try
                        {
                        Method m = WebView.class.getMethod("setFindIsUp", Boolean.TYPE);
                        m.invoke(webView, true);
                        }
                    catch (Throwable ignored){}
                }
            }); 
            dSearch.show();
        }
    }); 

不工作,出现错误java.lang.NoSuchMethodException:SetFinDisop[boolean]你能给我发一个有工作亮点的样本项目吗..请在-ravisaini1990@gmail.complease再次检查我正在使用的html页面,它没有突出显示,即使是一个单词,我在每个版本中都尝试过,但它仍然没有显示突出显示的文本。请给我一些建议…它只适用于2.2,不适用于3.0,3.2,4.0