Android listview 优化 一
2015-10-16 12:01
190 查看
@Override public View getGroupView(int i, boolean b, View **view**, ViewGroup viewGroup) { ViewHolder holder; if(view == null){ holder = new ViewHolder(); **view** = inflater.inflate(group_LayoutId,null); holder.orderId = (TextView)view.findViewById(R.id.item_already_order_frag_parent_text); **view**.setTag(holder); } else { holder = (ViewHolder) **view**.getTag(); } holder.orderId.setText("订单号:" + group.get(i).getOrderId()); return view; }
注意:
把setTag设置到View里面。而不是viewparent中 在Viewholder里存储**对列表子项每个组件的id**应用。 通过**setTag**方法,把这个带有**view引用的对象**附加在View上,这样下次就不用重复的去寻找findViewById()了。通过getTag直接从view携带的**Viewholder中取出每个组件的引用。**
同时ViewHolder定义为静态类,把他放在静态存储区。
相关文章推荐
- Android中的handler的理解
- AndroidStudio引入第三方jar包操作
- Android实现多线程下载文件的方法
- 往Android SDCard中读写入数据
- android 通过setContentView切换Activity的View
- Android内存优化之OOM
- android的Handler中sendEmptyMessage与sendMessage的区别
- android:button = @null in radiobutton
- Android 性能优化之使用MAT分析内存泄露问题
- 网摘Android调用WebService
- 新东西011--Android Fragment常见错误分析
- Android类-ContentProvider
- 使用Android自定义控件实现滑动解锁九宫格
- Default Activity not found错误
- android 标题样式
- android actionBar logo设置不起作用
- android里面线程睡眠事件使用方法
- 【Android 开发】:数据存储之 SQLite 数据库操作(一)
- 【Android 开发】:数据存储之File文件存储 [即SD卡的写入与读取]
- Android应用Design Support Library介绍