如何停止 Android webView swipeToRefresh 加载进度条?
Posted
技术标签:
【中文标题】如何停止 Android webView swipeToRefresh 加载进度条?【英文标题】:How to Stop Android webView swipeToRefresh loading progressbar? 【发布时间】:2018-01-01 15:41:10 【问题描述】:注意:这个问题已经被问过here.,但没有得到任何答案,所以我决定用我的代码重新发布。
当用户从顶部拉下屏幕时,我希望 webView 刷新当前页面,这工作正常。问题是页面加载后加载进度条没有停止。
这是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);
我已经更新了代码,但它仍在加载中。
【问题讨论】:
试试这个答案***.com/a/28582653/6834114 【参考方案1】:这已经解决了这个问题:
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);
);
【讨论】:
【参考方案2】:在你的 seOnRefreshListner 中设置为 progressBar 的可见性,并在 webview 加载后停止刷新 swipeLayout。
swipeLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener()
@Override public void onRefresh() // Insert your code here
ProgressBar. SetVisibility(GONE);
if(null != swipeLayout)
swipeLayout.setRefreshing(false);
myWebView.reload(); // refreshes the WebView
);
【讨论】:
@MaheshGawhneif(null != swipeLayout) swipeLayout.setRefreshing(false);
没用。【参考方案3】:
更准确地说是你尝试代码
if (swipeLayout.isRefreshing())
swipeLayout.setRefreshing(false);
【讨论】:
如果没有if (null != swipeLayout && swipeLayout.isRefreshing())
,应用就会崩溃以上是关于如何停止 Android webView swipeToRefresh 加载进度条?的主要内容,如果未能解决你的问题,请参考以下文章