pulltorefreshlistview
来源:互联网 发布:vmware安装ubuntu教程 编辑:程序博客网 时间:2024/06/05 10:20
public class Context extends Fragment { private ViewPager vp2; private PullToRefreshListView pull; private List<String> list=new ArrayList<String>(); private Handler handler=new Handler(); private MyBaseAdapter adap; private List<User.DataBean> data=new ArrayList<>(); private List<User.DataBean> listss=new ArrayList<User.DataBean>(); int index=1; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View v=inflater.inflate(R.layout.context,null); pull= (PullToRefreshListView) v.findViewById(R.id.pull); vp2= (ViewPager) v.findViewById(R.id.vp2); list.add("http://pic8.nipic.com/20100701/5290458_114840036316_2.jpg"); list.add("http://pic2.nipic.com/20090424/1468853_230119053_2.jpg"); list.add("http://img3.3lian.com/2013/s1/20/d/57.jpg"); list.add("http://pic39.nipic.com/20140226/18071023_164300608000_2.jpg"); list.add("http://a0.att.hudong.com/15/08/300218769736132194086202411_950.jpg"); MyAdapter adapter=new MyAdapter(list,getActivity()); vp2.setAdapter(adapter); initLv(); initData(); return v; } public void setAdapters(){ if(adap==null){ adap=new MyBaseAdapter(listss,getActivity()); pull.setAdapter(adap); }else{ adap.notifyDataSetChanged(); } } public void initData(){ MyTask task=new MyTask(new MyTask.Icallbacks() { @Override public void updateicall(String str) { Gson gson=new Gson(); User u=gson.fromJson(str, User.class); data = u.getData(); listss.addAll(data); setAdapters(); } }); task.execute("http://api.expoon.com/AppNews/getNewsList/type/1/p/1"); } public void addtoTop(){ index=1; MyTask task=new MyTask(new MyTask.Icallbacks() { @Override public void updateicall(String str) { Gson gson=new Gson(); User u=gson.fromJson(str, User.class); data = u.getData(); listss.addAll(0,data); } }); task.execute("http://api.expoon.com/AppNews/getNewsList/type/1/p/"+index); } public void addtoBottom(){ index++; MyTask task=new MyTask(new MyTask.Icallbacks() { @Override public void updateicall(String str) { Gson gson=new Gson(); User u=gson.fromJson(str, User.class); data = u.getData(); listss.addAll(data); } }); task.execute("http://api.expoon.com/AppNews/getNewsList/type/1/p/"+index); } public void initLv(){ //设置刷新模式 ,both代表支持上拉和下拉,pull_from_end代表上拉,pull_from_start代表下拉 pull.setMode(PullToRefreshBase.Mode.BOTH);/*这里通过getLoadingLayoutProxy 方法来指定上拉和下拉时显示的状态的区别,第一个true 代表下来状态 ,第二个true 代表上拉的状态如果想区分上拉和下拉状态的不同,可以分别设置*/ ILoadingLayout startLabels = pull.getLoadingLayoutProxy(true, false); startLabels.setPullLabel("下拉刷新"); startLabels.setRefreshingLabel("正在拉"); startLabels.setReleaseLabel("放开刷新"); ILoadingLayout endLabels = pull.getLoadingLayoutProxy(false, true); endLabels.setPullLabel("上拉刷新"); endLabels.setRefreshingLabel("正在载入..."); endLabels.setReleaseLabel("放开刷新...");/*如果Mode设置成Mode.BOTH,需要设置刷新Listener为OnRefreshListener2,并实现onPullDownToRefresh()、onPullUpToRefresh()两个方法。 如果Mode设置成Mode.PULL_FROM_START或Mode.PULL_FROM_END,需要设置刷新Listener为OnRefreshListener,同时实现onRefresh()方法。 当然也可以设置为OnRefreshListener2,但是Mode.PULL_FROM_START的时候只调用onPullDownToRefresh()方法,Mode.PULL_FROM_END的时候只调用onPullUpToRefresh()方法. 加载数据完成后 必须 调用下 onRefreshComplete() 完成关闭 header,footer视图*/ pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {//下拉刷新的回调 //下拉刷新的数据,显示在listview列表的最上面 addtoTop(); handler.postDelayed(new Runnable() { @Override public void run() { //刷新完成,必须在异步下完成 pull.onRefreshComplete(); //刷新适配器 setAdapters(); } },1000); } @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {//上拉加载的回调 //加载更多的数据,添加到集合列表的最后面 addtoBottom(); handler.postDelayed(new Runnable() { @Override public void run() { //刷新完成,必须在异步下完成 pull.onRefreshComplete(); //刷新适配器 setAdapters(); } },1000); } }); }}
阅读全文
0 0
- PullToRefreshListView
- PullToRefreshListView
- PullToRefreshListView
- PullToRefreshListView
- PullToRefreshListView
- PullToRefreshListView
- PullToRefreshListView
- PullToRefreshListView
- PullToRefreshListView
- PullToRefreshListView
- PullToRefreshListView
- pullToRefreshListView
- PulltorefreshListview
- PulltorefreshListview
- PullToRefreshListView
- PullToRefreshListView
- pulltorefreshlistview
- PullToRefreshListView
- Python-subprocess模块学习总结
- 面试/笔试第一弹 —— 计算机网络面试问题集锦
- (C++版)链表(二)——实现单项循环链表创建、插入、删除等操作
- DS1337实时时钟接口电路
- java中的编译时常量与运行时常量
- pulltorefreshlistview
- Docker之Flannel管理网络-yellowcong
- nova vnc proxy基本原理
- 股票简单笔记
- recyclerview点击事件设置
- Github Desktop for Windows 10 安装教程
- day72_oracle02_练习题
- SSD调试日志
- (C++版)链表(三)——实现双向链表的创建、插入、删除等简单操作