【问题标题】:How to trigger pull-to-refresh and show its loading animation by java code?如何触发下拉刷新并通过java代码显示其加载动画?
【发布时间】:2014-10-11 01:59:59
【问题描述】:

我有一个片段使用pull-to-refresh 刷新我的列表视图,我知道当用户手动拉动时,OnRefreshListener 触发,但我想要这个:

当用户打开这个片段时,他们不必手动拉,片段本身拉来刷新并显示加载动画。请告诉我该怎么做。

谢谢。

【问题讨论】:

  • 我想这就是你要找的东西:PullRefreshListView.setRefreshing(true);
  • @Emmanuel 我试过了,确实刷新了,但是只是刷新了,没看到加载动画,有什么解决办法吗?

标签: android android-fragments pull-to-refresh


【解决方案1】:

可能有点晚了,但作为参考,我遇到了同样的问题,这就是我解决它的方法:

当你打电话时:

mPullToRefreshLayout.setRefreshing(true);

它不会触发圆圈自动动画。要显示加载圆圈,您需要使用 runnable,这会在 UI 线程中添加延迟,以便在 ui 线程内显示圆圈动画。您可以使用下面的代码代替上面的代码来做到这一点:

mPullToRefreshLayout.post(new Runnable() {
      @Override public void run() {
         mPullToRefreshLayout.setRefreshing(true);
      }
 });

希望对你有帮助。

【讨论】:

  • 效果很好!这个答案应该被接受。无论如何,只是为了完成,上面的代码只会“运行”动画,要真正触发动画和实际刷新代码,需要在可运行对象中调用刷新监听器。
  • 正确。谢谢你。
【解决方案2】:

尝试使用youPullToRefreshList.setRefreshing()

【讨论】:

  • 我试过了,确实刷新了,但是只是刷新了,没看到加载动画,有什么解决办法吗?
  • 当你为你的列表加载完数据后,你必须调用youPullToRefreshList.onRefreshComplete();
猜你喜欢
  • 1970-01-01
  • 2018-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-13
  • 2022-01-22
  • 2011-06-15
  • 2019-02-08
相关资源
最近更新 更多