android中怎么获取listview的item的信息

2025-06-21 08:05:33
推荐回答(1个)
回答1:

  首先写个ListView 的数据适配器,抽离出来,写一个对象,用来设置listView 每条Item 的 的对象,可以采用ConvertView 设置setTag 将View 房子tag中,可以通过ListvIEW .getChildAt().getTag. 取得你想要的对象,设置参数,还是铁代码吧!
  
  
  getView:
  ItemObj viewHolder = null;
  if(convertView == null){
  viewHolder = new ItemObj();
  convertView = mLayoutInflate.inflate(R.layout.simple_item, null);
  viewHolder.mSimpleCardName = (TextView) convertView.findViewById(R.id.simple_name);
  viewHolder.mIsReTake = (TextView) convertView.findViewById(R.id.simple_num);
  viewHolder.mContentNext = (TextView)convertView.findViewById(R.id.status);
  viewHolder.mIsNext = (TextView) convertView.findViewById(R.id.icon_next);
  convertView.setTag(viewHolder);
  }else{
  viewHolder = (ItemObj) convertView.getTag();
  }
  
  PhotoList aPotoLists = (PhotoList) getItem(position);
  
  if(aPotoLists!= null){
  viewHolder.mSimpleCardName.setText(aPotoLists.photoName);
  if(KeyInMapITF.TAKESIMPLE_PIC_TEP!= null){
  viewHolder.mIsReTake.setText("("+0+")");
  if(KeyInMapITF.TAKESIMPLE_PIC_TEP.equals(aPotoLists.photoName)){
  ArrayList aLists= (ArrayList) GlobalParameter.get(KeyInMapITF.TAKESIMPLE_PIC_TEP);
  viewHolder.mIsReTake.setText("("+aLists.size()+")");
  }
  }
  
  if(aPotoLists.status.equals("0")){
  viewHolder.mContentNext.setText("未审核");
  viewHolder.mIsNext.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.task_list_arrows));
  
  }else{
  viewHolder.mContentNext.setText("已审核");
  viewHolder.mIsNext.setText("");
  convertView.setOnClickListener(null);
  }
  }
  
  
  obj 对象:
  public class ItemObj extends Object{
  public TextView mSimpleCardName;// 单证的名称
  public TextView mIsReTake;// 0 是 单证拍照 1是重拍照片
  public TextView mContentNext;// 未提交 未审核等
  public TextView mIsNext;// 箭头
  public TextView getmSimpleCardName() {
  return mSimpleCardName;
  }
  public void setmSimpleCardName(TextView mSimpleCardName) {
  this.mSimpleCardName = mSimpleCardName;
  }
  public TextView getmIsReTake() {
  return mIsReTake;
  }
  public void setmIsReTake(TextView mIsReTake) {
  this.mIsReTake = mIsReTake;
  }
  public TextView getmContentNext() {
  return mContentNext;
  }
  public void setmContentNext(TextView mContentNext) {
  this.mContentNext = mContentNext;
  }
  public TextView getmIsNext() {
  return mIsNext;
  }
  public void setmIsNext(TextView mIsNext) {
  this.mIsNext = mIsNext;
  }