You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android WebView应用首次启动ProgressBar不显示且重写方法报错

问题分析与解决方案

一、修复onPageStarted重写报错

你遇到的method does not override method from its superclass错误,本质是方法签名不匹配。WebView的WebViewClient中onPageStarted的正确签名如下,检查你的代码是否参数类型、数量有误:

@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
    super.onPageStarted(view, url, favicon);
    // 这里写显示ProgressBar的逻辑,比如 progressBar.setVisibility(View.VISIBLE);
}

注意:这个方法必须写在WebViewClient的子类内部,不能直接放在MainActivity中重写。

二、解决首次启动不显示ProgressBar的问题

首次加载页面时onPageStarted可能未被及时触发,或者你没提前触发加载器显示,按以下步骤处理:

  1. 在onCreate中先手动显示ProgressBar,再加载初始URL:
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        ProgressBar progressBar = findViewById(R.id.progressBar);
        WebView webView = findViewById(R.id.webView);
        
        // 先显示加载器
        progressBar.setVisibility(View.VISIBLE);
        
        // 配置WebViewClient,监听页面加载状态
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                super.onPageStarted(view, url, favicon);
                progressBar.setVisibility(View.VISIBLE);
            }
    
            @Override
            public void onPageFinished(WebView view, String url) {
                super.onPageFinished(view, url);
                progressBar.setVisibility(View.GONE);
            }
        });
        
        // 加载初始页面
        webView.loadUrl("你的初始网页地址");
    }
    
  2. 确保布局中的ProgressBar默认隐藏(设置android:visibility="gone"),避免未加载时显示。
  3. 如果是缓存导致初始加载无触发,可关闭WebView缓存:
    webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
    

三、额外注意事项

  • 必须在onPageFinished方法中隐藏ProgressBar,防止加载完成后加载器残留。
  • 若WebView设置了WebChromeClient,也可以通过onProgressChanged方法监听加载进度,更精准控制加载器显示。

内容的提问来源于stack exchange,提问作者Rejoanul Alam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 17:25:58