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

2025-03-20 06:08:46
推荐回答(2个)
回答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;
}

回答2:

onItemClick 方法中可以获取