Android:如何在将数据加载到 WebView 时显示进度条?

标签 android webview progress-bar loaddata

如何在将数据加载到我的 webview 时显示进度条? 我的代码:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    this.requestWindowFeature(Window.FEATURE_PROGRESS);
    getWindow().setFeatureInt( Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON); 
    this.setProgressBarVisibility(true);
    setContentView(R.layout.layout_article);
    WebView webview = (WebView) findViewById(R.id.webView);
    final Activity activity = this;
    webview.setWebChromeClient(new WebChromeClient() {
        public void onProgressChanged(WebView view, int progress) {
            activity.setProgress(progress * 100);
        }
    });

    webView.loadUrl("http://google.com");
}

最佳答案

在调用 loadData() 函数之前,只需尝试显示 ProgressDialog 或将 ProgressBar 放在布局中。

WebViewClient 中,只需关闭()progressDialog 或使 ProgressBar 不可见。

例如:

// when finish loading page
public void onPageFinished(WebView view, String url) {
       if(mProgress.isShowing()) {
             mProgress.dismiss();
       }
}

仅供引用,仅在完成 ​​Web 客户端设置后调用 loadData() 或 loadURL()。

检查这个例子:Load WebView with ProgressDialog

关于Android:如何在将数据加载到 WebView 时显示进度条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9375222/

相关文章:

android - 协调器布局的奇怪行为和重叠内容的折叠工具栏

java - 我可以创建一个从中继承此信息的基类吗?

python - 在 Python 中打印进度条处理

Android Twilio 可编程聊天在应用程序进入后台时断开连接

安卓屏幕旋转问题

android - WebView - 线程

android - RecyclerView 自动滚动到 WebView/Fresco SimpleDraweeView item

jquery - 如何向幻灯片或 nivoslider 等 slider 添加进度条(时间线)

c# - Form.Show() 没有显示它的子控件

java - Android : "Column is not unique" 的 SQLite 错误