SwipeLayout在ListView中使用的使用的问题
2015-07-24 22:05
127 查看
在ListView中使用SwipeLayout时,SwipeLayout在BaseSwipeAdapter暴露了两个方法:
一般来说,实现这两个方法就可以了。
遇到的问题:
1.在generateView中监听删除按钮(举个例子,可能是其他功能的按钮),在监听事件中需要找到当前操作的Item在所有数据中的位置,但是在generateView的参数中的position,位置指向不对。
这个问题其实看下BaseSwipeAdapter源码就知道了:
很明显了,generateView方法中的position是会重用的,but,fillValues的position参数是item的正确的位置,所以,想要操作所有的数据的话,就到fillValues方法中写就可以了。
2.还是删除的例子,滑动,出来删除按钮,点击删除按钮,本条数据删除,但是下一条数据会呈现滑动之后的状态。
这个其实很好解决,SwipeLayout提供了方法的:
看情况调用就可以了
public View generateView(nt position, ViewGroup parent) public void fillValues(int position, View convertView)
一般来说,实现这两个方法就可以了。
遇到的问题:
1.在generateView中监听删除按钮(举个例子,可能是其他功能的按钮),在监听事件中需要找到当前操作的Item在所有数据中的位置,但是在generateView的参数中的position,位置指向不对。
这个问题其实看下BaseSwipeAdapter源码就知道了:
@Override public final View getView(int position, View convertView, ViewGroup parent) { View v = convertView; if(v == null){ v = generateView(position, parent); mItemManger.initialize(v, position); }else{ mItemManger.updateConvertView(v, position); } fillValues(position, v); return v; }
很明显了,generateView方法中的position是会重用的,but,fillValues的position参数是item的正确的位置,所以,想要操作所有的数据的话,就到fillValues方法中写就可以了。
2.还是删除的例子,滑动,出来删除按钮,点击删除按钮,本条数据删除,但是下一条数据会呈现滑动之后的状态。
这个其实很好解决,SwipeLayout提供了方法的:
closeAllItems(); closeAllExcept(); closeItem();
看情况调用就可以了
相关文章推荐
- 视音频编解码学习工程:FLV封装格式分析器
- Summary for week1
- 运算放大器【一】
- PAT (Advanced Level) 1039. Course List for Student (25) 排序,手动写哈希
- sdnu山东省ACM 2010年第一届省赛Greatest Number
- typedef(自定义数据类型)与#define(宏定义)用法比较(前者定义指针比define好用)---(转载)
- linux at91看门狗驱动设置
- 【分享】2015 iOS工程师面试题
- tomcat中使用Quartz造成内存泄露的问题解决
- Microsoft Visual Studio 2015 下载、注册、安装过程、功能列表、问题解决
- Java错误提示--------Only a type can be imported. java.awt.event resolves to a package
- 创建形态学操作
- 在状态栏上做渐变动画效果
- Microsoft Visual Studio 2015 下载、注册、安装过程、功能列表、问题解决
- 基础-数学-最大后验概率(MAP)maximum a posteriori
- dubbo基于http协议嵌入现有框架配置方法。
- swift创建unwind 过渡(unwind segue)
- 0元!免费智能硬件到底靠谱不
- 第66讲:Scala并发编程实战初体验及其在Spark源码中的应用解析
- 236 Lowest Common Ancestor of a Binary Tree