SwipeRefreshLayout实现下拉刷新

SwipeRefreshLayout实现下拉刷新

在开发App时,经常用到下拉刷新的功能,并且下拉的同时的重新获取网络数据,进行数据的更新,所以用到了SwipeRefreshLayout来简单的实现下拉刷新功能

简单介绍

  • setOnRefreshListener(SwipeRefreshLayout.OnRefreshListener listener)
    下拉刷新的监听,重写其中的onRefresh()方法,实现你刷新所要完成的事
  • setRefreshing(boolean refreshing)
    设置刷新状态,一般在onRefresh()结束时把属性状态设置为false

如何使用

1.在布局中添加SwipeRefreshLayout(只能有一个孩子),往其中放入一个ListView

    <android.support.v4.widget.SwipeRefreshLayout
          android:id="@+id/swipe"
          android:layout_width="match_parent"
          android:layout_height="match_parent">
      <ListView
          android:id="@+id/listview"
          android:layout_width="match_parent"
          android:layout_height="match_parent"/>
  </android.support.v4.widget.SwipeRefreshLayout>

2.代码中

private SwipeRefreshLayout swipe;
private ListView listview;
private List<String> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_swipe_test);
    swipe = (SwipeRefreshLayout) findViewById(R.id.swipe);
    listview = (ListView) findViewById(R.id.listview);
    list = new ArrayList<String>();

    //在list中添加数据
    for(int i=0; i<10 ; i++){
        list.add("i="+i);
    }

    //设置进度加载框的背景颜色
    swipe.setProgressBackgroundColorSchemeResource(android.R.color.white);

    //设置下拉刷新动画的颜色, 这里的setColorScheme方法已经被舍弃
    //需要使用setColorSchemeResources
    swipe.setColorSchemeResources(R.color.red,R.color.blue,R.color.green,R.color.yellow);

    final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list);
    listview.setAdapter(adapter);

    //设置下拉刷新的监听
    swipe.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
        @Override
        public void onRefresh() {

            //实现你所需要刷新内容的操作
            list.add("刷新出的数据");
            adapter.notifyDataSetChanged();

            //设置刷新状态未false,否则刷新动画一直持续
            swipe.setRefreshing(false);
        }
    });

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值