页面加载完成后停止刷新
Stop refreshing when page finishes loading
我正在寻求帮助,问题是刷新图标在页面完全加载之前就消失了。
这是代码,在此先感谢:
final SwipeRefreshLayout swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipelayout);
final WebView mWebView = (WebView) findViewById(R.id.activity_main_webview);
swipeRefreshLayout.setColorSchemeResources(R.color.refresh,R.color.refresh1,R.color.refresh2);
swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
mWebView.reload();
swipeRefreshLayout.setRefreshing(true);
(new Handler()).postDelayed(new Runnable() {
@Override
public void run() {
mWebView.stopLoading();
swipeRefreshLayout.setRefreshing(false);
}
},150000);
150000 是它持续出现在屏幕上的时间量,我尝试将其删除,但以下覆盖代码被弄乱了up.I我是初学者,如果解决方案很简单,很抱歉。
据我了解你的问题,你想通过 SwipeRefreshLayout
刷新 web-page 并显示加载,直到整个页面完成加载。
为此删除这个
(new Handler()).postDelayed(new Runnable() {
@Override
public void run() {
mWebView.stopLoading();
swipeRefreshLayout.setRefreshing(false);
}
},150000);
您将在 15 秒后自行停止加载页面,这不是必需的。
改为执行以下操作
mWebView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
swipeRefreshLayout.setRefreshing(false);
}
});
注意:设置 WebViewClient
以在页面加载完成时知道一个事件。
希望这对你有用!
我正在寻求帮助,问题是刷新图标在页面完全加载之前就消失了。
这是代码,在此先感谢:
final SwipeRefreshLayout swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipelayout);
final WebView mWebView = (WebView) findViewById(R.id.activity_main_webview);
swipeRefreshLayout.setColorSchemeResources(R.color.refresh,R.color.refresh1,R.color.refresh2);
swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
mWebView.reload();
swipeRefreshLayout.setRefreshing(true);
(new Handler()).postDelayed(new Runnable() {
@Override
public void run() {
mWebView.stopLoading();
swipeRefreshLayout.setRefreshing(false);
}
},150000);
150000 是它持续出现在屏幕上的时间量,我尝试将其删除,但以下覆盖代码被弄乱了up.I我是初学者,如果解决方案很简单,很抱歉。
据我了解你的问题,你想通过 SwipeRefreshLayout
刷新 web-page 并显示加载,直到整个页面完成加载。
为此删除这个
(new Handler()).postDelayed(new Runnable() {
@Override
public void run() {
mWebView.stopLoading();
swipeRefreshLayout.setRefreshing(false);
}
},150000);
您将在 15 秒后自行停止加载页面,这不是必需的。
改为执行以下操作
mWebView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
swipeRefreshLayout.setRefreshing(false);
}
});
注意:设置 WebViewClient
以在页面加载完成时知道一个事件。
希望这对你有用!