![](/img/trans.png)
[英]How to prevent GOBACK button for specific URL in Android Webview?
[英]Execute url by WebView.goBack
我在下面的问题堆栈! 我解析网站,这是我的大概代码:
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执行网址? 现在,它按原样返回页面,而不进行解析。
您需要操纵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();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.