Java 如何在WebView Android中搜索文本?

Java 如何在WebView Android中搜索文本?,java,android,search,webview,searchview,Java,Android,Search,Webview,Searchview,我有一个使用网络视图的应用程序(MinsdkVersion17)。如果可以添加搜索(并突出显示找到的结果)功能,这将非常有用。问题是,我的编程技能非常低,对圣杯的搜索没有得到好的答案 我发现了以下主题(以及一些moe,包括其他论坛): , , 还有一些其他的,但所有的都是不完整的,我无法理解它们是如何工作的,或者发现的代码太旧了,可能有一些错误需要修复(我想是由于android studio的变化),我可以从中得到一些有用的东西 活动中的我的XML: <ScrollView

我有一个使用网络视图的应用程序(MinsdkVersion17)。如果可以添加搜索(并突出显示找到的结果)功能,这将非常有用。问题是,我的编程技能非常低,对圣杯的搜索没有得到好的答案

我发现了以下主题(以及一些moe,包括其他论坛): , , 还有一些其他的,但所有的都是不完整的,我无法理解它们是如何工作的,或者发现的代码太旧了,可能有一些错误需要修复(我想是由于android studio的变化),我可以从中得到一些有用的东西

活动中的我的XML:

    <ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@id/footer"
    android:layout_below="@+id/layoutId">

    <WebView
        android:id="@+id/webviewautoturisme"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></WebView>
</ScrollView>

<RelativeLayout
    android:id="@+id/layoutId"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:orientation="horizontal">

    <Button
        android:id="@+id/nextButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:text="Caută"
        android:textColor="#ffffff"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/findBox"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toStartOf="@+id/nextButton"
        android:hint="Caută după localitate"
        android:maxLines="1" />
</RelativeLayout>

<RelativeLayout
    android:id="@+id/footer"
    android:layout_width="wrap_content"
    android:layout_height="95dp"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true">

    <Button
        android:id="@+id/buttoBACK"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/adView"
        android:layout_centerHorizontal="true"
        android:minWidth="150dp"
        android:text="@string/sBackMainMenu"
        android:textAllCaps="true"
        android:textColor="#FFFFFF"
        android:textStyle="bold" />
       </RelativeLayout>
</RelativeLayout>
问题是我不知道如何使用搜索按钮,因为我以前找到的解决方案已经过时了。 如何使搜索按钮工作?

请停止并回答此问题。简单地用您拥有的任何新信息、您尝试过的任何新代码编辑您的原始帖子,或者解释任何帖子答案不起作用的原因,都会将其推到活动队列的顶部。
<SearchView
    android:id="@+id/searchField"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:queryHint="Căutare după localitate"
    android:orientation="horizontal">
</SearchView>
package ro....;

import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.MotionEvent;
import android.view.View;
import android.webkit.WebView;

import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.MobileAds;

public class PKWinListActivity extends AppCompatActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_pkwinlist);

    MobileAds.initialize(getApplicationContext(), "ca-app-pub-....");
    AdView mAdView = (AdView) findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder().addTestDevice("....").addTestDevice("....").addTestDevice("....").build();
    mAdView.loadAd(adRequest);

    findViewById(R.id.buttoBACK)
            .setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    finish();
                }

            });

    if (isMobileDataEnabled()) {

        WebView myWebView = (WebView) findViewById(R.id.webviewautoturisme);
        myWebView.loadUrl("https://www...");

        myWebView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                return true;
            }
        });

    } else {
        //Mobile data is disabled here
        new AlertDialog.Builder(this).setTitle(getString(R.string.sDataReqMes))
                .setMessage(getString(R.string.sDataReqEnable)).setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));
            }
        }).setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                finish();
            }
        }).show();


    }
}


private boolean isMobileDataEnabled() {
    ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo mobileDataEnabled = connectivityManager.getActiveNetworkInfo();
    return mobileDataEnabled != null && mobileDataEnabled.isConnected();
}

}