Android 在另一个活动中访问相同的webview
因此,我在MainActivity中设置了webview并完成了所有操作,但我希望在SettingsActivity中清除历史记录、缓存和执行更多操作。我真的不知道该怎么办,如果你能回答的话,请见谅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
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
。请在此处查看教程: