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;	}}待續。。。
新聞熱點
疑難解答