09 ListView监听 ExpandableListView的使用总结
来源:互联网 发布:章淘客cms 编辑:程序博客网 时间:2024/06/07 07:55
1.ListView的滚动监听
>setOnScrollListener 监听//ListVIew滚动监听lv.setOnScrollListener(new OnScrollListener() {/** * 当滚动状态发生改变时 调用此方法 * 参数1:当前的ListView * 参数2:ListView 滚动状态 * scrollState: * SCROLL_STATE_IDLE:停止滚动的状态 常量值 0 * SCROLL_STATE_TOUCH_SCROLL:正在滚动 手指还在屏幕上 常量值 1 * SCROLL_STATE_FLING :代表滚动 形成惯性的动作 常量值 2 * */@Overridepublic void onScrollStateChanged(AbsListView view, int scrollState) {// TODO Auto-generated method stubLog.e("AAA", "=====onScrollStateChanged==="+scrollState);//判断到了底部并且 滚动停止 加载更多if(isLast&&scrollState ==SCROLL_STATE_IDLE){Toast.makeText(MainActivity.this, "加载更多", Toast.LENGTH_SHORT).show();}}/** * 当前控件滚动时 调用此方法 * 参数1:当前的ListView * 参数2:当前屏幕展示第一条能看到的item的下标 * 参数3:屏幕展示能看到item的条数 * 参数4:listVIew 总的item数 */@Overridepublic void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {// TODO Auto-generated method stubLog.e("AAA", "===onScroll==firstVisibleItem"+firstVisibleItem+"==visibleItemCount=="+visibleItemCount+"==totalItemCount="+totalItemCount);isLast = ((firstVisibleItem+visibleItemCount)==totalItemCount);}});
2,ListView的分页加载 >1,接口是分页加载的 >2,利用滚动监听 进行分页加载
3,ListView的图文混排 >概念:,先去下载字符串数据,将文本内容先展示出来,之后再下载图片 >注意:图片异位 >1,设置给控件一个图片 >2,给该控件设置标记(以图片的请求地址为标记) >3,判断反悔的 图片地址和控件里的设置的标记是否是同一个
回调接口:看图
5.ExpandableListView的使用
# 使用BaseExpandableListAdapter填充数据#有10个方法 分组4个 子元素4个 底层设计一个 子元素能否点击一个#4个监听
- 分组的点击事件
- setOnGroupClickListener
- 子元素的点击事件
- setOnChildClickListener
- 分组展开的监听
- setOnGroupExpandListener
- 分组折叠的监听
- setOnGroupCollapseListener
/** * 获取分组的个数 */@Overridepublic int getGroupCount() {// TODO Auto-generated method stubreturn groupData.length;}/** * 获取当前下标分组里的子元素的个数 */@Overridepublic int getChildrenCount(int groupPosition) {// TODO Auto-generated method stubreturn childData[groupPosition].length;}/** * 获取当前下标分组的数据 */@Overridepublic Object getGroup(int groupPosition) {// TODO Auto-generated method stubreturn groupData[groupPosition];}/** * 获取分组下标为groupPosition里子元素的下标为childPosition的数据 */@Overridepublic Object getChild(int groupPosition, int childPosition) {// TODO Auto-generated method stubreturn childData[groupPosition][childPosition];}/** * 获取下标为groupPosition分组的id */@Overridepublic long getGroupId(int groupPosition) {// TODO Auto-generated method stubreturn groupPosition;}/** * 获取分组下标为groupPosition 里的子元素下标为childPosition元素的id */@Overridepublic long getChildId(int groupPosition, int childPosition) {// TODO Auto-generated method stubreturn childPosition;}/** * 底层设计 * 分组和子元素是否有稳定的id 底层的数据改变不会影响他们 */@Overridepublic boolean hasStableIds() {// TODO Auto-generated method stubreturn false;}/** * 分组的视图对象 * 参数1:分组的位置下标 * 参数2:当前分组是否展开 * 参数3:复用的视图 * 参数4:指明父控件 ExpandableListView */@Overridepublic View getGroupView(int groupPosition, boolean isExpanded,View convertView, ViewGroup parent) {// TODO Auto-generated method stubView view = LayoutInflater.from(MainActivity.this).inflate(R.layout.item_group, parent,false);TextView tv = (TextView) view.findViewById(R.id.tv_item_group);tv.setText(groupData[groupPosition]);return view;}/** * 子元素的视图 * * 参数1:当前分组的下标 * 参数2:当前子元素的下标 * 参数3:是否是最后一个子元素视图 * 参数4:子元素复用视图 * 参数5:指明父控件 ExpandableListView */@Overridepublic View getChildView(int groupPosition, int childPosition,boolean isLastChild, View convertView, ViewGroup parent) {// TODO Auto-generated method stubView view = LayoutInflater.from(MainActivity.this).inflate(R.layout.item_child, parent,false);TextView tv = (TextView) view.findViewById(R.id.tv_item_child);tv.setText(childData[groupPosition][childPosition]);return view;}/** * 子元素能否被点击 false不能被点击 true可以被点击 */@Overridepublic boolean isChildSelectable(int groupPosition, int childPosition) {// TODO Auto-generated method stubreturn true;}}
0 0
- 09 ListView监听 ExpandableListView的使用总结
- ExpandableListView中ListView无法使用Item的监听事件
- listview的使用-ExpandableListView
- ExpandableListView的使用总结
- ExpandableListView的使用,可展开的ListView
- ListView的item折叠功能实现,使用ExpandableListView
- android:ExpandableListView(可扩展的ListView)使用详解;
- Android ExpandableListview+Listview嵌套使用出现的问题解决办法
- 使用ExpandableListView实现ListView嵌套ListView
- 可扩展的listview~ExpandableListView
- ExpandableListView 使用及设置监听函数
- 数据显示总结_GridView/ListView/ExpandableListView
- ListView的使用总结
- Android--ExpandableListView的item点击监听事件
- ExpandableListView + ListView
- ExpandableListView使用重要方法总结
- 使用ExpandableListView实现树状ListView两级分层
- ExpandableListView控件使用中一些小问题的总结
- TSS任务状态段
- Leetcode 23 Merge k Sorted Lists
- 使用phpExcel库构建一个导出excel的通用类
- 一个DirectInput演示程序
- fork系统调用
- 09 ListView监听 ExpandableListView的使用总结
- 卡特兰数相关知识
- 对于RTTI机制的理解
- TCP/IP详解,卷1:协议(1)
- Amigo 源码解读
- node安装图解
- 爬虫06 代码封装(以爬虫04为基础)
- 稀缺:我们如何陷入贫穷与忙碌的
- 前端插件日常问题 整理