Переглянути джерело

加载成功后,不再处理加载异常事件

yanqiliang 5 днів тому
батько
коміт
3109afaf84

+ 2 - 2
.idea/deploymentTargetDropDown.xml

@@ -7,11 +7,11 @@
         <deviceKey>
           <Key>
             <type value="VIRTUAL_DEVICE_PATH" />
-            <value value="D:\Application\android_avd\.android\avd\Android_11.avd" />
+            <value value="D:\Application\android_avd\.android\avd\xiaojiaohaoping.avd" />
           </Key>
         </deviceKey>
       </Target>
     </targetSelectedWithDropDown>
-    <timeTargetWasSelectedWithDropDown value="2025-04-25T09:04:25.210472400Z" />
+    <timeTargetWasSelectedWithDropDown value="2025-06-03T07:29:20.553024100Z" />
   </component>
 </project>

+ 18 - 8
app/src/main/java/com/example/jhpapp/MainActivity.java

@@ -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);
         }
     };