Java 通过WebView.goBack执行url

Java 通过WebView.goBack执行url,java,android,android-asynctask,android-webview,jsoup,Java,Android,Android Asynctask,Android Webview,Jsoup,我遇到了下面的问题!我解析网站,下面是我的大概代码: public class MainActivity extends Activity { String CurURL = ""; @Override public void onCreate(Bundle savedInstanceState) { webview.setWebViewClient(new ForumWebViewClient()); new ParseMyPageTask().execute(

我遇到了下面的问题!我解析网站,下面是我的大概代码:

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();
}
}
公共类MainActivity扩展活动{
字符串CurURL=“”;
@凌驾
创建时的公共void(Bundle savedInstanceState){
setWebViewClient(新的ForumWebViewClient());
新建ParseMyPageTask().execute(url);
}
私有类ForumWebViewClient扩展了WebViewClient{
公共布尔值shouldOverrideUrlLoading(WebView WebView,字符串url){
新建ParseMyPageTask().execute(url);
返回true;
}
}
公共类ParseMyPageTask扩展了AsyncTask{
@凌驾
受保护的字符串doInBackground(字符串…参数){
*组工作*
返回结果;
}
@凌驾
受保护的void onPostExecute(字符串结果){
loadDataWithBaseURL(“http:..”,结果,“text/html”,“UTF-8”,CurURL);
}
}
@凌驾
public void onBackPressed(){
if(webview.canGoBack()){
webview.goBack();
返回;
}
super.onBackPressed();
}
}
按下“后退”按钮后,应如何处理AsyncTask执行url?现在,它返回原样的页面,而不是经过解析的页面。

您需要操作以加载URL,而不是默认情况下由WebView自动缓存的URL

您可以通过重写
WebView.goBack()

@覆盖
公开作废goBack(){
WebBackForwardList temp=copyBackForwardList();
对于(int i=0;i
  @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();
  }