我已经研究过如何以编程方式启动Android SwipeRefreshLayout。 我找到了解释如何做到这一点的网站 。
这是我开始动画的代码:
mSwipeRefreshLayout.post(new Runnable() { @Override public void run() { mSwipeRefreshLayout.setRefreshing(true); } });BNow我想在加载数据时停止SwipeRefreshLayout的动画。
代码
mSwipeRefreshLayout.setRefreshing(false);不适合我。
有人有想法吗?
I have researched how to start the Android SwipeRefreshLayout programmatically. I have found that website where it is explained how to do that.
Here is the code how I start the animation:
mSwipeRefreshLayout.post(new Runnable() { @Override public void run() { mSwipeRefreshLayout.setRefreshing(true); } });BNow I would like to stop the animation of the SwipeRefreshLayout when the data is loaded.
The code
mSwipeRefreshLayout.setRefreshing(false);does not work for me.
Has anyone an idea ?
最满意答案
mSwipeRefreshLayout.setRefreshing(true); 似乎没有触发onRefresh()侦听器。 它只显示动画。 我假设你正在调用mSwipeRefreshLayout.setRefreshing(false); 由于刷新处理程序中发生的事情。
解决方案是从Runnable手动调用您的刷新方法。
mSwipeRefreshLayout.post(new Runnable() { @Override public void run() { mSwipeRefreshLayout.setRefreshing(true); myRefreshMethod(); } });mSwipeRefreshLayout.setRefreshing(true); does not appear to trigger the onRefresh() listener. It only shows the animation. I'm assuming you are calling mSwipeRefreshLayout.setRefreshing(false); as a result of something that happens in your refresh handler.
The solution is to call your refresh method manually from within the Runnable.
mSwipeRefreshLayout.post(new Runnable() { @Override public void run() { mSwipeRefreshLayout.setRefreshing(true); myRefreshMethod(); } });更多推荐
发布评论