Android 在另一个活动中访问相同的webview

Android 在另一个活动中访问相同的webview,android,Android,因此,我在MainActivity中设置了webview并完成了所有操作,但我希望在SettingsActivity中清除历史记录、缓存和执行更多操作。我真的不知道该怎么办,如果你能回答的话,请见谅 package tk.lostteam.sharky; import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.os.Bundle; imp

因此,我在MainActivity中设置了webview并完成了所有操作,但我希望在SettingsActivity中清除历史记录、缓存和执行更多操作。我真的不知道该怎么办,如果你能回答的话,请见谅

package tk.lostteam.sharky;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {

public WebView webview;
Button searchBtn;
EditText urlView;


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

    webview = (WebView) findViewById(R.id.webview);
    searchBtn = (Button) findViewById(R.id.goBtn);
    urlView = (EditText) findViewById(R.id.urlView);

    urlView.setFocusable(true);
    urlView.setSelectAllOnFocus(true);

    webview.setWebViewClient(new WebViewClient()
    {
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            urlView.setText(url);
        }
    });

    webview.getSettings().getBuiltInZoomControls();
    webview.getSettings().setJavaScriptEnabled(true);
    webview.getSettings().getCacheMode();
    webview.getSettings().getAllowFileAccess();

    webview.loadUrl("http://google.com");

    searchBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (urlView.getText().toString().equals("http://sharky:settings") || urlView.getText().toString().equals("sharky:settings")) {
                Intent i = new Intent(MainActivity.this, SettingsActivity.class);
                startActivity(i);
            } else if (!urlView.getText().toString().contains("http://") || !urlView.getText().toString().contains("https://")) {
                webview.loadUrl("http://" + urlView.getText().toString());
            } else if (urlView.getText().toString().equals("") || urlView.getText().toString().equals("http://")) {
                webview.loadUrl("http://google.com");
            } else if (urlView.getText().toString().contains("http://") || urlView.getText().toString().contains("https://")) {
                webview.loadUrl(urlView.getText().toString());
            }
        }

    });


}

private void urlSync(){
    Thread t = new Thread() {

        @Override
        public void run() {
            try {
                while (!isInterrupted()) {
                    Thread.sleep(1000);
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            urlView.setText(webview.getUrl());
                        }
                    });
                }
            } catch (InterruptedException e) {
            }
        }
    };

    t.start();
}

@Override
public void onBackPressed() {
    if (webview.canGoBack()) {
        webview.goBack();
    } else {
        super.onBackPressed();
    }
}
}


有人知道怎么做吗?

如果
main活动
总是产生
设置活动
,您可以使用
startractivityforresult
并在
main活动
中覆盖
onActivityResult
。请在此处查看教程: