首页 > 学院 > 开发设计 > 正文

ListView用法小结

2019-11-09 16:25:23
字体:
来源:转载
供稿:网友

1、Adapter的基本写法

public class DemoAdapter extends BaseAdapter {	PRivate Context mContext;	private List<Info> mData;	public DemoAdapter(Context context, List<Info> data) {		super();		this.mContext = context;		this.mData = data;	}	@Override	public int getCount() {		return mData.size();	}	@Override	public Object getItem(int position) {		return mData.get(position);	}	@Override	public long getItemId(int position) {		return position;	}	@Override	public View getView(int position, View convertView, ViewGroup parent) {		ViewHolder holder = null;		//convertView复用		if (convertView == null) {			convertView = View.inflate(mContext, R.layout.item_select, null);			//初始化ViewHolder			holder = new ViewHolder();			//控件初始化			holder.icon = (ImageView) convertView.findViewById(R.id.item_select_icon);			holder.name = (TextView) convertView.findViewById(R.id.item_select_name);			//将holder保存到view里			convertView.setTag(holder);		}else{			//从convertView里取出holder,不用再次做findViewById			holder = (ViewHolder) convertView.getTag();		}				//绑定数据		//mData.get(position);		Info data = (Info) getItem(position);		//holder.icon.setImageBitmap(bitmap);		//holder.icon.setImageResource(R.drawable.ic_contact);		holder.icon.setImageDrawable(data.getIcon);		holder.name.setText(data.getName());		return convertView;	}		/**	 * 可看做是控件的持有者,用来保存findViewById找到的控件	 * 当convertView复用时,不需要再次做findViewById的操作,从而提高效率	 */	static class ViewHolder{		ImageView icon;		TextView name;	}}待续。。。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表