SmartRefreshLayout+CommonAdapter打造上拉加载下拉刷新界面
来源:互联网 发布:mac see sheer真人试色 编辑:程序博客网 时间:2024/06/01 07:56
我之前的文章提及过万能适配器
万能适配器(一)
万能适配器(二)
我们当时提及过这个万能适配器要是能搭配刷新库一起使用就更好了,现在最热的刷新库要属SmartRefreshLayout了,附上SmartRefreshLayout的github地址
SmartRefreshLayout github
前期准备已经做完了,现在要看下我们的效果
1 导入三方库
compile 'com.zhy:base-adapter:3.0.3' //万能适配器仅针对Listviewcompile 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.2-alpha-3' //智能刷新库
2 自定义Adapter
public class MyAdapter extends CommonAdapter<String> { public MyAdapter(Context context, int layoutId, List<String> datas) { super(context, layoutId, datas); } @Override protected void convert(ViewHolder vh, String item, int position) { vh.setText(R.id.tv, item); }}
3 MainActivity
package com.universalrefresh;import android.content.Context;import android.support.annotation.NonNull;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.ListView;import com.scwang.smartrefresh.layout.SmartRefreshLayout;import com.scwang.smartrefresh.layout.api.DefaultRefreshFooterCreater;import com.scwang.smartrefresh.layout.api.DefaultRefreshHeaderCreater;import com.scwang.smartrefresh.layout.api.RefreshFooter;import com.scwang.smartrefresh.layout.api.RefreshHeader;import com.scwang.smartrefresh.layout.api.RefreshLayout;import com.scwang.smartrefresh.layout.footer.BallPulseFooter;import com.scwang.smartrefresh.layout.footer.ClassicsFooter;import com.scwang.smartrefresh.layout.header.BezierRadarHeader;import com.scwang.smartrefresh.layout.header.ClassicsHeader;import com.scwang.smartrefresh.layout.header.FalsifyHeader;import com.scwang.smartrefresh.layout.listener.OnLoadmoreListener;import com.scwang.smartrefresh.layout.listener.OnRefreshListener;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity { private List<String> list; private ListView listView; private SmartRefreshLayout refreshLayout; private MyAdapter myAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView) findViewById(R.id.listview); refreshLayout = (SmartRefreshLayout) findViewById(R.id.slayout); initData(); myAdapter = new MyAdapter(this,R.layout.item,list); listView.setAdapter(myAdapter); refreshLayout.setOnRefreshListener(new OnRefreshListener() { @Override public void onRefresh(RefreshLayout refreshlayout) { refreshLayout.finishRefresh(2000);//刷新的回调方法 } }); refreshLayout.setOnLoadmoreListener(new OnLoadmoreListener() { @Override public void onLoadmore(RefreshLayout refreshlayout) { refreshLayout.finishLoadmore(2000);//加载更多 } }); SmartRefreshLayout.setDefaultRefreshHeaderCreater(new DefaultRefreshHeaderCreater() { @NonNull @Override public RefreshHeader createRefreshHeader(Context context, RefreshLayout layout) { return new ClassicsHeader(context); } }); SmartRefreshLayout.setDefaultRefreshFooterCreater(new DefaultRefreshFooterCreater() { @NonNull @Override public RefreshFooter createRefreshFooter(Context context, RefreshLayout layout) { return new ClassicsFooter(context); } }); } private void initData() { list = new ArrayList<>(); for(int i=0;i<20;i++){ list.add("我是第" + i); } }}
阅读全文
0 0
- SmartRefreshLayout+CommonAdapter打造上拉加载下拉刷新界面
- SmartRefreshLayout下拉刷新上拉加载框架
- 下拉刷新、上拉加载SmartRefreshLayout
- SmartRefreshLayout集成笔记,实现下拉刷新上拉加载更多。
- 很好用的下拉刷新上拉加载的框架smartrefreshlayout属性
- android使用SmartRefreshLayout库实现下拉刷新和上拉加载
- android 打造真正的下拉刷新上拉加载recyclerview(三):下拉刷新上拉加载
- android 打造真正的下拉刷新上拉加载recyclerview(三):下拉刷新上拉加载
- 打造Android万能下拉刷新上拉加载控件
- 打造Android万能下拉刷新上拉加载控件
- 上拉加载 下拉刷新
- 下拉刷新 * 上拉加载
- 上拉刷新 下拉加载
- 下拉刷新,上拉加载
- 上拉刷新下拉加载
- 下拉刷新,上拉加载
- 上拉刷新,下拉加载
- 上拉刷新下拉加载
- hdu 1210 洗牌
- Android 5.0输入系统分析之InputDispatcher线程分析
- C/C++基础及高频率面试知识总结
- cookie
- SSH框架总结分析
- SmartRefreshLayout+CommonAdapter打造上拉加载下拉刷新界面
- 关于在mysql 中新建用户
- Struts2入门实例-Helloworld
- SpringInAction学习笔记——第15章 使用远程服务
- CodeForces 106C Buns (多重背包)
- Kafka原理(一)
- Unity敌人刷新
- BLE开发
- opencv16--隐藏console