android ListView中給Item的每一個控件設置單擊事件

最近作了一個android項目,在每個ListView的Item中還有兩個RelativeLayout控件,須要對這兩個RelativeLayout控件設置單擊事件,解決以下:
只貼關鍵代碼了

//ListView變量
private ListView lv_pcorder = null;
//須要傳遞的變量
List list1 = new ArrayList();
List list2 = new ArrayList();
Map pics = Util.getAnecdoteSeven();
Map picid = new HashMap();

//配置BasicAdapter
lv_pcorder = (ListView) findViewById(R.id.lv_pcorder);
lv_pcorder.setAdapter(new PicCenterListApdapter(PicCenterList.this, list1, list2, pics, picid));

//BaseAdapter實現類
public class PicCenterListApdapter extends BaseAdapter {
 
  private Context context;    private List list1;    private List list2;    private Map map;    private Map picid;    public PicCenterListApdapter(Context context, List list1, List list2, Map map, Map picid) {       this.context = context;       this.list1 = list1;       this.list2 = list2;       this.map = map;       this.picid = picid;    }    @Override    public int getCount() {       return list1.size();    }    @Override    public Object getItem(int arg0) {       return null;    }    @Override    public long getItemId(int position) {       return 0;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {       ViewHolder vh = null;       if (convertView == null) {          vh = new ViewHolder();          LayoutInflater inflater = LayoutInflater.from(context);          convertView = inflater.inflate(R.layout.pcorderlist, null);          vh.lin0 = (RelativeLayout) convertView.findViewById(R.id.lin0);                    vh.lin0.setOnClickListener(new PCount(position)); //設置單擊事件          vh.lin2 = (RelativeLayout) convertView.findViewById(R.id.lin2); //設置單擊事件          vh.lin2.setOnClickListener(new COrder(position)); //設置單擊事件          vh.lin3 = (RelativeLayout) convertView.findViewById(R.id.lin3);          vh.lin3.setOnClickListener(new COrder(position));          vh.timeitem = (TextView) convertView.findViewById(R.id.timeitem);          vh.timeitem.setText(list1.get(position));          vh.countitem = (TextView) convertView.findViewById(R.id.countitem);          vh.countitem.setText(list2.get(position));          if (map.containsKey(list1.get(position))) {             vh.smallpic = (ImageView) convertView.findViewById(R.id.smallpic);             vh.smallpic.setImageResource(picid.get(map.get(list1.get(position)).getAddress()));             vh.title = (TextView) convertView.findViewById(R.id.title);             vh.title.setText(map.get(list1.get(position)).getTitle());             vh.picintro = (TextView) convertView.findViewById(R.id.picintro);             vh.picintro.setText("     "+Util.getString(map.get(list1.get(position)).getContent())+"....");          }                    convertView.setTag(vh);       } else {          vh = (ViewHolder) convertView.getTag();       }       return convertView;    }       //單擊事件實現    class COrder implements OnClickListener {       public int position;       public COrder(int p) {          position = p;       }       @Override       public void onClick(View v) {          Intent intent = new Intent();          intent.setClass(context, CountOrder.class);          Bundle b = new Bundle();          b.putString("datatime", list1.get(position));          intent.putExtras(b);          context.startActivity(intent);       }           }      //單擊事件實現      class PCount implements OnClickListener {       public int position;       public PCount(int p) {          position = p;       }       public void onClick(View v) {          Intent intent = new Intent();          intent.setClass(context, PicCenterItem.class);          Bundle b = new Bundle();          b.putString("datatime", list1.get(position));          intent.putExtras(b);          context.startActivity(intent);       }    }    public final class ViewHolder {       public RelativeLayout lin0;       public RelativeLayout lin2;       public RelativeLayout lin3;       public TextView timeitem;       public TextView countitem;       public ImageView smallpic;       public TextView title;       public TextView picintro;    } }
相關文章
相關標籤/搜索