介绍
这篇文章将为大家详细讲解有关怎么在Android中利用ExpandableListView实现下拉刷新功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
XML中声明
& lt; com.xingyi.elonggradletaskdemo.widget.SExpandableListView ,,,android: listSelector=癅android:颜色/transparent" ,,,android: id=癅 + id/elv_coupon" ,,,android: layout_width=癿atch_parent" ,,,android: layout_height=癿atch_parent" ,,,android: dividerHeight=? dp"比; & lt;才能/com.xingyi.elonggradletaskdemo.widget.SExpandableListView>
UI中配置下拉刷新的回调以及是否支持下拉和加载更多
expandableListView =, (SExpandableListView),,,,, ,,,findViewById (R.id.elv_coupon); ,,,//,在设置适配器之前设置是否支持下拉刷新 ,,,expandableListView.setLoadingMoreEnabled(真正的); ,,,expandableListView.setPullRefreshEnabled(真正的); ,,,expandableListView.setAdapter (couponAdapter);
设置下拉刷新和加载跟多的回调接口
expandableListView.setmLoadingListener (new SExpandableListView.LoadingListener (), { ,,,,@Override ,,,,,public void onLoadMore (), { ,,,,,,,//,模拟加载更多 ,,,,,,,isPull =,假; ,,,,,,,//,这里应该在项目中请求,这里用延时模拟接口请求 ,,,,,,,loadCount + +; ,,,,,,,Message msg =, handler.obtainMessage (); ,,,,,,,msg.arg1 =, loadCount; ,,,,,,,handler.sendMessageDelayed(味精,2000); ,,,,,,,Log.e(“标记处理程序:“,,loadCount +,“——在“); ,,,,,} ,,,,@Override ,,,,,public void onRefresh (), { ,,,,,,,isPull =,真的; ,,,,,,,loadCount + +; ,,,,,,,//,模拟接口请求下拉刷新 ,,,,,,,Message msg =, handler.obtainMessage (); ,,,,,,,msg.arg1 =, loadCount; ,,,,,,,handler.sendMessageDelayed(味精,2000); ,,,,,,,Log.e(“标记处理程序:“,,loadCount +,“——在“); ,,,,,} ,,,}); ,,private Handler  Handler =, new 处理程序(),{ ,,@Override ,,,public void handleMessage (Message 味精),{ ,,,,,super.handleMessage(味精); ,,,,,//,模拟接口回复数据,加入下拉刷新次数为6次的话我们就认为没有更多了 ,,,,,if (祝辞loadCount 6), { ,,,,,,,expandableListView.refreshComplete (); ,,,,,,,expandableListView.setNoMore(真正的); ,,,,,},{else ,,,,,,,addLoadMoreData (); ,,,,,,,if (isPull), { ,,,,,,,,,expandableListView.refreshComplete (); ,,,,,,,} ,,,,,,,couponAdapter.notifyDataSetChanged (); ,,,,,,,//,是不是全部展开,根据需求设置//,,,,,,,,expanedAll (); ,,,,,} ,,,,,Log.e(“标记- - -收到消息:“,,loadCount +,“——在“); ,,,} };才能
<强>简单看下实现过程强>
- <李>
自定义ExpandableListview
李> <李>重写ondraw事件
李> <李>给自定义的观点添加滑动监听事件
李> <李>初始化的时候给视图添加页眉和页脚用来下拉刷新
//,这里在自定视图构造函数中调用的增加页眉和页脚的代码,注意下两种添加方式的区别,详情见注释和源代码 ,private void  initSE (Context 上下文),{ ,,,/* * ,,,,*,这里是页脚的填充,注意指定他的父亲为当前的列表视图, ,,,,*,这里页脚不用指定layoutparem是因为footer 在填充的时候已经指定了他的父视图 ,,,*/,,,loadMoreView =, LayoutInflater.from(上下文).inflate (R.layout.item_footer_view,,这个,,假); null null null null null null null null null null null null null null null null null null null null null怎么在Android中利用ExpandableListView实现下拉刷新功能