首先写个ListView 的数据适配器,抽离出来,写一个对象,用来设置listView 每条Item 的 的对象,可以采用ConvertView 设置setTag 将View 房子tag中,可以通过ListvIEW getChildAt()getTag 取得你想要的对象,设置参数,还是铁代码吧!
getView:
ItemObj viewHolder = null;
if(convertView == null){
viewHolder = new ItemObj();
convertView = mLayoutInflateinflate(Rlayoutsimple_item, null);
viewHoldermSimpleCardName = (TextView) convertViewfindViewById(Ridsimple_name);
viewHoldermIsReTake = (TextView) convertViewfindViewById(Ridsimple_num);
viewHoldermContentNext = (TextView)convertViewfindViewById(Ridstatus);
viewHoldermIsNext = (TextView) convertViewfindViewById(Ridicon_next);
convertViewsetTag(viewHolder);
}else{
viewHolder = (ItemObj) convertViewgetTag();
}
PhotoList aPotoLists = (PhotoList) getItem(position);
if(aPotoLists!= null){
viewHoldermSimpleCardNamesetText(aPotoListsphotoName);
if(KeyInMapITFTAKESIMPLE_PIC_TEP!= null){
viewHoldermIsReTakesetText("("+0+")");
if(KeyInMapITFTAKESIMPLE_PIC_TEPequals(aPotoListsphotoName)){
ArrayList<PhotoList> aLists= (ArrayList<PhotoList>) GlobalParameterget(KeyInMapITFTAKESIMPLE_PIC_TEP);
viewHoldermIsReTakesetText("("+aListssize()+")");
}
}
if(aPotoListsstatusequals("0")){
viewHoldermContentNextsetText("未审核");
viewHoldermIsNextsetBackgroundDrawable(mContextgetResources()getDrawable(Rdrawabletask_list_arrows));
}else{
viewHoldermContentNextsetText("已审核");
viewHoldermIsNextsetText("");
convertViewsetOnClickListener(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) {
thismSimpleCardName = mSimpleCardName;
}
public TextView getmIsReTake() {
return mIsReTake;
}
public void setmIsReTake(TextView mIsReTake) {
thismIsReTake = mIsReTake;
}
public TextView getmContentNext() {
return mContentNext;
}
public void setmContentNext(TextView mContentNext) {
thismContentNext = mContentNext;
}
public TextView getmIsNext() {
return mIsNext;
}
public void setmIsNext(TextView mIsNext) {
thismIsNext = mIsNext;
}
1、在listitem中初始化button的时候,给该button添加一个setTag方法,将此时的索引值传进去,然后在button的onclick事件中调用view的getTag方法,即可将listitem的索引读出来,代码如下:
tagButtonsetTag(position);
此处的tagButton就是定义的button,Position是view里边的位置。
2、初始化button的时候通过setTag方法传入一个item的索引值
private OnClickListener tagButtonOnClick = new OnClickListener() {
public void onClick(View v) {
final int index = (Integer) vgetTag();
}
比如 你的 adapter中传入的数据是 List strs 那么你搜索的时候 可以搜到 所有 strs中的String ,那么 对应的list index就知道了。一般显示的时候 就是 根据position 来排的,也就是 你list中的index是多少那么在排在view中也是第index个。 查看原帖>>
以上就是关于android中怎么获取listview的item的信息全部的内容,包括:android中怎么获取listview的item的信息、listview怎么通过位置得到item、求解如何获取listview中的item等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)