ListView之ViewHolder类封装
来源:互联网 发布:怎样做淘宝返利群 编辑:程序博客网 时间:2024/05/16 06:28
ViewHolder封装*
package com.pcf.listview.bean;
import android.content.Context;
import android.graphics.Bitmap;
import android.util.SparseArray;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
/**
* Created by Administrator on 2016/10/29.
*/
public class ViewHolder {
private SparseArray mViews;//存储view,效率比Map高
private int mPosition;
private View mConvertView;
public ViewHolder(Context context, ViewGroup parent, int layoutId, int position) { this.mPosition = position; this.mViews = new SparseArray<View>(); mConvertView = LayoutInflater.from(context).inflate(layoutId, parent, false); mConvertView.setTag(this);}public static ViewHolder get(Context context, View convertView, ViewGroup parent, int layoutId, int position) { if (convertView == null) { return new ViewHolder(context, parent, layoutId, position); } else { ViewHolder viewHolder = (ViewHolder) convertView.getTag(); viewHolder.mPosition = position;//更新position return viewHolder; }}public <T extends View> T getView(int viewId) { View view = mViews.get(viewId); if (view == null) { view = mConvertView.findViewById(viewId); mViews.put(viewId, view); } return (T) view;}public View getmConvertView() { return mConvertView;}/** * 返回position * @return */public int getPosition() { return mPosition;}/** * 设置textview的值 * * @param viewId * @param text * @return */public ViewHolder setText(int viewId, String text) { TextView tv = getView(viewId); tv.setText(text); return this;}/** * 设置图片,传入resurceId * @param viewId * @param resourceId * @return */public ViewHolder setImageResource(int viewId, int resourceId) { ImageView imageView = getView(viewId); imageView.setImageResource(resourceId); return this;}/** * 设置图片,传图bitmap * @param viewId * @param bitmap * @return */public ViewHolder setImageBitmap(int viewId, Bitmap bitmap) { ImageView imageView = getView(viewId); imageView.setImageBitmap(bitmap); return this;}
// public ViewHolder setImageResource(int viewId, String url) {
// ImageView imageView = getView(viewId);
// //Imageloader.getInstance.loadimg(view,url)
// imageView.setImageResource(resourceId);
// return this;
// }
}
- ListView之ViewHolder类封装
- ListView 优化之ViewHolder封装
- Listview之万能适配器封装,结合上一篇博客ViewHolder封装类使用
- Android:ListView之ViewHolder
- ListView优化之ViewHolder
- Android:ListView之ViewHolder
- Android:ListView之ViewHolder
- listview的优化---viewHolder的封装
- Listview优化之convertView,viewHolder
- 1.2ListView优化之Viewholder
- viewholder 封装
- android ListView的优化之 static ViewHolder
- ListView性能优化之convertView和ViewHolder
- ListView 优化之---ViewHolder static修饰符
- 浅谈ListView之convertView和viewHolder
- ListView使用技巧之ViewHolder模式提高效率
- ListView优化为何ViewHolder用static类
- ListView优化为何ViewHolder用static类
- poj2823 Sliding Window
- Scrapy抓取在不同级别Request之间传递参数
- struts2如何触底实现国际化
- Android 怎么动态设置shape定义的控件的背景色
- 【并查集】Mushroom的区间
- ListView之ViewHolder类封装
- CentOS 安装配置JDK与Tomcat支持jsp文件解析
- 【十月总结】2016.10.31
- hdu 1709 普通母函数
- ocos2d-JS 屏幕适配相关内容
- Hive调优(语法与参数层面优化)
- stm32 ADC基础配置
- 如何查询oracle执行计划_总结
- 北京新闻客户端