NoScrollListView 设置 Adapter 后 getView() 方法 view 会进行复用的问题
来源:互联网 发布:linux怎么新建文件 编辑:程序博客网 时间:2024/04/29 01:05
我们在开发过程中会出现在 scrollView 中嵌套 listview 的情况,一般情况下,我们将 listview 高度设置为根据自己 item 的高度总和来将 listview 滑动功能去掉,然后 scrollView 在滚动的时候,其实是在 scrollView 中的内容在滚动,这里面也包括 我们自定义的 不滚动的 listview。NoScrollListView 一般写法如下:
public class NoScrollListView extends ListView { public NoScrollListView(Context context) { super(context); } public NoScrollListView(Context context, AttributeSet as) { super(context, as); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); }}
然后在 Adapter 的 getView() 方法打一个log
@Override public View getView(int i, View view, ViewGroup viewGroup) { Log.d("Adapter", "i:" + i); if (view == null) { view = LayoutInflater.from(mContext).inflate(R.layout.xxx, viewGroup, false); } Log.d("Adapter", "view:" + view);}
可以看到,在之前角标0 ,1一直是在复用同一个 view ,最后才创建了一个新的 view,具体什么原因,不清楚,先记录一下。
阅读全文
0 0
- NoScrollListView 设置 Adapter 后 getView() 方法 view 会进行复用的问题
- Android中Adapter的getView方法复用view机制
- Android中Adapter的getView方法复用view机制
- Android中Adapter的getView方法复用view机制
- Android中Adapter的getView方法复用view机制
- Adapter的getView方法
- Adapter的getView方法详解
- Adapter的getView方法详解
- Adapter的getView方法详解
- Adapter的编写getView方法
- Adapter的getView方法详解
- android listView 重写Adapter方法getView的性能优化问题
- ListView和GridView 自定义Adapter的getView()方法调用问题
- 解决ListView的getView()方法中View设置监听position错乱的问题
- Android项目:模仿ConvertView原理(ListView的getView方法)对View对象进行回收和复用
- Adapter中getView()方法多次调用问题
- Adapter的getView()方法中无法通过代码获取布局文件中View的大小
- 自定义Adapter的getView方法的含义
- static_cast、dynamic_cast、const_cast和reinterpret_cast总结
- 数据结构实验之链表九:双向链表
- 关于521
- Xilinx HLx 2017.1 与VS 2017兼容问题解决
- 机器学习实战第五章——Logistic回归
- NoScrollListView 设置 Adapter 后 getView() 方法 view 会进行复用的问题
- 批量删除redis keys
- Babel 基础
- charts框架 横向 纵向柱状图
- selenium用Jquery定位总结笔记(基于python语言)
- jsp中的两种include方式
- MyBatis 实践 -配置
- Swift 使用 NSClassFromString 遇到的大坑
- lhgdialog弹出窗口再弹出一级窗口时,二级窗口在一级窗口下面,如何让他到一级窗口上面?