界面打开SwipeRefreshLayout自动刷新

àì夳堔傛蜴生んèń 2023-05-21 07:05 69阅读 0赞

首先想要在界面一加载的时候出现更新效果,直接调用setRfreshing(true)是出不来效果的,必须调用

  1. SwipeRefreshLayout.post(new Runable(){
  2. @Override
  3. public void run() {
  4. SwipeRefreshLayout.setRefreshing(true);
  5. }
  6. });

关闭的时候也使用

  1. SwipeRefreshLayout.post(new Runable(){
  2. @Override
  3. public void run() {
  4. SwipeRefreshLayout.setRefreshing(false);
  5. }
  6. });

但是如果你认为这样就会走onRefresh方法,那你就大错特错了,setRefreshing(true)是不会触发onRefresh的,必须要手动调用一次所以在界面onCreate里面想要立刻加载就需要这样

  1. SwipeRefreshLayout.post(new Runable(){
  2. @Override
  3. public void run() {
  4. SwipeRefreshLayout.setRefreshing(true);
  5. }
  6. });
  7. onRefresh();

综上:

  1. OnRefreshListener listener = new OnRefreshListener(){
  2. public void onRefresh(){
  3. //TODO
  4. }
  5. };
  6. SwipeRefreshLayout mSRLayout = (SwipeRefreshLayout) findviewbyId(R.id.layout);
  7. mSRLayout.setOnRefreshListener(listener);
  8. onCreate中:mSRLayout.post(new Runable(){
  9. @Override
  10. public void run() {
  11. SwipeRefreshLayout.setRefreshing(true);
  12. }
  13. });
  14. listener.onRefresh()

发表评论

表情:
评论列表 (有 0 条评论,69人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SwipeRefreshLayout

    也许之前下拉刷新你可能会用到一些第三方开源库,如PullToRefresh, ActionBar-PullToRefresh、XlistView等 但现在已经有官方的组件了-