|
@@ -179,9 +179,14 @@ public class MainActivity extends BaseActivity {
|
|
|
|
|
|
|
|
|
final WebViewClient webViewClient = new WebViewClient() {
|
|
|
+ //记录页面是否已成功加载
|
|
|
+ private boolean isPageLoaded = false;
|
|
|
+
|
|
|
//设置是否交由内置的webview来处理加载页面的操作
|
|
|
@Override
|
|
|
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
|
|
|
+ // 重置加载状态
|
|
|
+ isPageLoaded = false;
|
|
|
return super.shouldOverrideUrlLoading(view, request);
|
|
|
}
|
|
|
|
|
@@ -190,12 +195,15 @@ public class MainActivity extends BaseActivity {
|
|
|
public void onPageStarted(WebView view, String url, Bitmap favicon) {
|
|
|
super.onPageStarted(view, url, favicon);
|
|
|
webViewLoading.setVisibility(View.VISIBLE);
|
|
|
+ isPageLoaded = false;
|
|
|
}
|
|
|
|
|
|
//在加载完当前页面时的回调方法
|
|
|
@Override
|
|
|
public void onPageFinished(WebView view, String url) {
|
|
|
super.onPageFinished(view, url);
|
|
|
+ // 页面成功加载完成
|
|
|
+ isPageLoaded = true;
|
|
|
webViewLoading.setVisibility(View.GONE);
|
|
|
webIDs.setVisibility(View.VISIBLE);
|
|
|
}
|
|
@@ -208,15 +216,17 @@ public class MainActivity extends BaseActivity {
|
|
|
|
|
|
@Override
|
|
|
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
|
|
|
- super.onReceivedError(view, request, error);
|
|
|
- Toast.makeText(MainActivity.this,"加载失败,请检查网络状态,即将重新加载...",Toast.LENGTH_SHORT).show();
|
|
|
- // 延迟后重新加载
|
|
|
- handlerWebErr.postDelayed(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- webIDs.reload();
|
|
|
+ // 忽略页面已成功加载后的错误
|
|
|
+ if (isPageLoaded) {
|
|
|
+ Toast.makeText(MainActivity.this, "URL加载成功"+isPageLoaded, Toast.LENGTH_SHORT).show();
|
|
|
+ return;
|
|
|
}
|
|
|
- }, 5000);
|
|
|
+ Toast.makeText(MainActivity.this, "网络连接不稳定,即将重试..."+isPageLoaded, Toast.LENGTH_SHORT).show();
|
|
|
+
|
|
|
+ // 延迟后重新加载
|
|
|
+ handlerWebErr.postDelayed(() -> {
|
|
|
+ webIDs.reload();
|
|
|
+ }, 2500);
|
|
|
}
|
|
|
};
|
|
|
|