Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to Stop Android webView swipeToRefresh loading progressbar?

Note: This question was already asked here. which did not get any answer so I decided to repost it with my code.

I want a webView to refresh the current page when a user pulls down the screen from the top which is working fine. The problem is the loading progress bar isn't stopping after the page has been loaded.

Here's the MainActivity.java

// Swipe to Refresh
        SwipeRefreshLayout swipeLayout = (SwipeRefreshLayout)this.findViewById(R.id.swipeToRefresh);
        swipeLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                myWebView.reload(); // refreshes the WebView
            }
        });
    }
@Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            progressBar.setVisibility(View.GONE);
            if (null != swipeLayout && swipeLayout.isRefreshing()) {
                swipeLayout.setRefreshing(false);
            }
        }

I have updated the code but it's still loading.

like image 521
Maroof Mandal Avatar asked Dec 04 '25 08:12

Maroof Mandal


2 Answers

This has fixed the issue:

        final SwipeRefreshLayout swipeLayout = (SwipeRefreshLayout)this.findViewById(R.id.swipeToRefresh);
        swipeLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                myWebView.reload(); // refreshes the WebView

                if (null != swipeLayout) {
                    swipeLayout.setRefreshing(false);
                }
            }
        });
like image 154
Maroof Mandal Avatar answered Dec 05 '25 22:12

Maroof Mandal


more precisely you try code

if (swipeLayout.isRefreshing()) {
    swipeLayout.setRefreshing(false);
}
like image 25
Omkar Avatar answered Dec 05 '25 20:12

Omkar