webview load先后2个url 最后加载出来的是第一个却不是第二个url
时间: 2023-12-28 13:03:47 浏览: 139
Android开发中WebView的简单使用小结
当 WebView 连续 load 多个 URL 时,由于 WebView 是异步加载的,可能会出现多个 URL 没有按照期望的顺序加载的情况。这种情况下,我们可以使用 WebView 的 `loadDataWithBaseURL()` 方法来保证 URL 按照期望的顺序加载。
具体步骤如下:
1. 获取 WebView 实例:
```
WebView webView = findViewById(R.id.webview);
```
2. 定义一个方法,用来加载 URL:
```
private void loadUrl(String url) {
webView.loadDataWithBaseURL(null, "", "text/html", "utf-8", null);
webView.loadUrl(url);
}
```
该方法先调用 `loadDataWithBaseURL()` 方法,传入空的数据,清空 WebView 的历史记录,并将 MIME 类型设置为 `"text/html"`,字符集设置为 `"utf-8"`。然后再调用 `loadUrl()` 方法加载 URL。
3. 调用 `loadUrl()` 方法加载多个 URL:
```
loadUrl("http://example.com/page1");
loadUrl("http://example.com/page2");
```
通过以上步骤,我们可以保证多个 URL 按照期望的顺序加载。在实际使用中,我们可以将多个 URL 存储在一个数组或者列表中,通过循环调用 `loadUrl()` 方法加载。
阅读全文