gpt4 book ai didi

java - 通过WebView.goBack执行url

转载 作者:行者123 更新时间:2023-12-01 14:03:02 26 4
gpt4 key购买 nike

我遇到了以下问题!我解析网站,这是我的大致代码:

public class MainActivity extends Activity {
String CurURL = "";
@Override
public void onCreate(Bundle savedInstanceState) {
webview.setWebViewClient(new ForumWebViewClient());
new ParseMyPageTask().execute(url);
}
private class ForumWebViewClient extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView webview, String url) {
new ParseMyPageTask().execute(url);
return true;
}
}

public class ParseMyPageTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
*JSoup work*
return result;
}
@Override
protected void onPostExecute(String result) {
webview.loadDataWithBaseURL("http:..", result, "text/html", "UTF-8", CurURL);
}
}
@Override
public void onBackPressed() {
if (webview.canGoBack()) {
webview.goBack();
return;
}
super.onBackPressed();
}
}

按下后退按钮后,我应该对 AsyncTask 执行 url 做什么?现在它按原样返回页面,未解析。

最佳答案

您需要操纵 WebBackForwardList加载您的 URL,而不是默认由 WebView 自动缓存的 URL。

您可以通过重写WebView.goBack()来做到这一点:

  @Override
public void goBack() {
WebBackForwardList temp = copyBackForwardList();
for (int i=0; i<temp.getSize(); i++) {
WebHistoryItem item = temp.getItemAtIndex(i);
// do whatever you want here...
}

// do whatever you want here...
super.goBack();
}

关于java - 通过WebView.goBack执行url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19190792/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com