留言功能主要代码:
1 package com.example.secondhand; 2 3 import android.content.Context; 4 import android.view.LayoutInflater; 5 import android.view.View; 6 import android.view.ViewGroup; 7 import android.widget.BaseAdapter; 8 import android.widget.TextView; 9 10 import java.util.HashMap; 11 import java.util.LinkedList; 12 13 /** 14 * 评论的适配器 15 * @author autumn_leaf 16 */ 17 public class ReviewAdapter extends BaseAdapter { 18 19 private Context context; 20 private LayoutInflater layoutInflater; 21 22 private LinkedList<Review> reviews = new LinkedList<>(); 23 HashMap<Integer,View> location = new HashMap<>(); 24 25 26 public ReviewAdapter(Context context) { 27 this.context = context; 28 layoutInflater = LayoutInflater.from(context); 29 } 30 31 public void setData(LinkedList<Review> reviews) { 32 this.reviews = reviews; 33 notifyDataSetChanged(); 34 } 35 36 @Override 37 public int getCount() { 38 return reviews.size(); 39 } 40 41 @Override 42 public Object getItem(int position) { 43 return reviews.get(position); 44 } 45 46 @Override 47 public long getItemId(int position) { 48 return position; 49 } 50 51 /** 52 * 获取视图 53 * @param position 位置 54 * @param convertView 当前的视图 55 * return convertView 56 */ 57 @Override 58 public View getView(int position, View convertView, ViewGroup parent) { 59 ViewHolder holder = null; 60 if(location.get(position) == null) { 61 convertView = layoutInflater.inflate(R.layout.layout_commodity_review,null); 62 Review review = (Review) getItem(position); 63 holder = new ViewHolder(convertView,review); 64 location.put(position,convertView); 65 convertView.setTag(holder); 66 }else { 67 convertView = location.get(position); 68 holder = (ViewHolder) convertView.getTag(); 69 } 70 return convertView; 71 } 72 73 /** 74 * 静态ViewHolder类 75 */ 76 static class ViewHolder { 77 78 TextView tvStuId,tvTime,tvContent; 79 80 public ViewHolder(View itemView, Review review) { 81 tvStuId = itemView.findViewById(R.id.tv_number); 82 tvTime = itemView.findViewById(R.id.tv_current_time); 83 tvContent = itemView.findViewById(R.id.tv_comment); 84 tvStuId.setText(review.get_id()); 85 tvTime.setText(review.getSetCurrentTime()); 86 tvContent.setText(review.getGoodsLiuyan()); 87 } 88 } 89 }