SwipeRefreshLayout,设置setRefreshing(true)没效果的解决方案
2016-04-08 15:26
399 查看
问题描述
使用SwipeRefreshLayout的时,由于刚进入到那个界面的时候要刷新,但是设置setRefreshing(true)并没效果。原因分析
调用refresh.setRefreshing(true);过早,以至于我们的SwipeRefreshLayout还没有被测量就已经被调用。解决方案
方案一
swipeRefreshLayout.setProgressViewOffset(false, 0, 100); swipeRefreshLayout.setRefreshing(true); onRefresh();
方案二
view.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { @Override public boolean onPreDraw() { swipeRefreshLayout.setRefreshing(true); onRefresh(); view.getViewTreeObserver().removeOnPreDrawListener(this); return true; } });
方案三
view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { swipeRefreshLayout.setRefreshing(true); onRefresh(); view.getViewTreeObserver().removeOnGlobalLayoutListener(this); } });
注:
方案二和方案三种的view是swipeRefreshLayout的顶层布局。
相关文章推荐
- UI进栈出栈原理
- UICoreAnimation基础
- UICoreAnimation(3):核心动…
- UICoreAnimation(4):核心动…
- UICoreAnimation(4):核心动…
- UI多线程(1)并行和并发的…
- UIAlertController的使用方…
- UItransframe属性(形变)
- iOS UIBezierPath--贝塞尔曲线
- Bluetooth 4.0之Android 讲解
- request - getParameter()和getAttribute()的区别
- Druid实现数据库连接用户密码加密
- arduino随笔(1)
- SVN:svn error:Subversion requires SQLite
- /etc/motd与/etc/issue的区别
- TableView---header悬停问题
- 太原UI设计师讲人人都可以掌握的网站设计分配色技巧
- SBT-Simple Build Tool入门
- 【POJ2478】Farey Sequence——欧拉数
- UITableView中Cell重用机制导致内容重复解决方法