之前写adapter,getView()中 总是这样写:
---------------.......getView(){
View view;
if(convertView == null){
view = View.inflate(this,R.layout.item--;null);
}else{
view=convertView;
}
return view;
}
以上写法也不错 但是现在看到适配器写法改变了 返回convertView
特此留下一个模板,方便需要时查看
public class SelectiveAdapter extends BaseAdapter { private Context mContext; private ArrayList<GoodsInfo> mGoodsInfos; private LayoutInflater mLayoutInflater; private int mItemWidth; public SelectiveAdapter(Context context, ArrayList<GoodsInfo> goodsInfos){ mContext = context; mGoodsInfos = goodsInfos; mLayoutInflater = LayoutInflater.from(context); initWidth(); } private void initWidth(){ int padding = DensityUtil.dip2px(mContext,5); int screenWidth = DensityUtil.getScreenWidth((Activity) mContext) - padding * 2; mItemWidth = screenWidth / 3; } @Override public int getCount() { return mGoodsInfos != null ? mGoodsInfos.size() : 0; } @Override public Object getItem(int position) { return mGoodsInfos.get(position); } @Override public long getItemId(int i) { return 0; } @Override public View getView(int position, View convertView, ViewGroup viewGroup) { final ViewHolder viewHolder; if (convertView == null) { convertView = mLayoutInflater.inflate(R.layout.item_cat_item, null); viewHolder = new ViewHolder(); viewHolder.ivGoodAvator = (ImageView) convertView.findViewById(R.id.ivGoodAvator); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } GoodsInfo goodsInfo = mGoodsInfos.get(position); viewHolder.ivGoodAvator.getLayoutParams().height = (int) (mItemWidth * 2.17); Glide.with(mContext).load(goodsInfo.thumb_image).diskCacheStrategy(DiskCacheStrategy.ALL).placeholder(R.drawable.img_selective_top1).into(viewHolder.ivGoodAvator); return convertView; } public class ViewHolder { @Bind(R.id.ivGoodAvator) ImageView ivGoodAvator; } }