ListView使用注意
1 public class MyListAdapter extends ArrayAdapter<Collocation> { 2 List<Data> list; 3 LayoutInflater inflater; 4 BaseUIActivity mActivity; 5 ItemBottomManager mManager; 6 Data data; 7 ViewHolder holder; 8 9 public GMJDIYBoxListAdapter(GMJBaseUIActivity context) { 10 super(context, 0); 11 // TODO Auto-generated constructor stub 12 inflater = (LayoutInflater) context 13 .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 14 mActivity = context; 15 list = new ArrayList<Collocation>(); 16 } 17 18 public GMJDIYBoxListAdapter(GMJBaseUIActivity context, 19 List<Collocation> list) { 20 // TODO Auto-generated constructor stub 21 super(context, 0); 22 inflater = (LayoutInflater) context 23 .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 24 mActivity = context; 25 Log.d("..............................................", ""); 26 this.list = list; 27 } 28 29 @Override 30 public View getView(int position, View convertView, ViewGroup parent) { 31 // TODO Auto-generated method stu 32 data = list.get(position); 33 if (convertView == null) { 34 convertView = inflater.inflate(R.layout.diy_box_item_item, null); 35 holder = createViewHolder(convertView); 36 convertView.setTag(holder); 37 } else { 38 holder = (ViewHolder) convertView.getTag(); 39 } 40 holder.nick.setText(data.getPropose_user_nick()); 41 mActivity.getImageLoader().asyncLoad( 42 new SimpleImageLoadCallback(mActivity, data 43 .getPropose_user_avatar(), holder.avator, 44 R.drawable.img_signup_photo)); 45 mActivity.getImageLoader().asyncLoad( 46 new SimpleImageLoadCallback(mActivity, data.getMerge_image(), 47 holder.img, R.drawable.img_guide_clothes)); 48 mManager.setNums(data.getComment_num(), data.getLike_num()); 49 return convertView; 50 } 51 52 @Override 53 public int getCount() { 54 // TODO Auto-generated method stub 55 return list.size(); 56 } 57 58 59 class ViewHolder { 60 CircleImageView avator; 61 TextView nick; 62 ImageView collect; 63 ImageView img; 64 TextView description; 65 View bottom; 66 View showItem; 67 TextView createTime; 68 } 69 70 ViewHolder createViewHolder(View view) { 71 ViewHolder holder = new ViewHolder(); 72 holder.avator = (CircleImageView) view.findViewById(R.id.avator); 73 holder.nick = (TextView) view.findViewById(R.id.nick_name); 74 holder.collect = (ImageView) view.findViewById(R.id.collect); 75 holder.img = (ImageView) view.findViewById(R.id.img_item); 76 holder.description = (TextView) view.findViewById(R.id.description); 77 holder.bottom = view.findViewById(R.id.item_bottom); 78 holder.showItem = view.findViewById(R.id.showitem_click); 79 holder.createTime = (TextView) view.findViewById(R.id.createtime); 80 return holder; 81 } 82 83 84 }
两点内容:
1、通过viewholder来完成view的重载。
2、重写getCount方法(否则有可能出现无法显示的问题)
浙公网安备 33010602011771号