Android开发实现ListView部分布局监听的方法
本文实例讲述了Android开发实现ListView部分布局监听的方法。分享给大家供大家参考,具体如下:
androidlistview部分布局监听,很多人会想,直接在适配器里面,拿到那个布局,添加点击事件就可以了,不过我会告诉你的是这时候position是错乱的,是无法根据用户点击的位置来对每个item进行相应的逻辑操作。 同事给我想到的一个办法是:给每个布局提前设置一个tag,也就是绑定对应需要设置的数据,在点击事件的时候,会有一个view,根据该view重新拿到这个tag,取得里面的数据,就可以了,防止错乱的问题,成功解决,大概的代码如下,因为加密的需要,很多代码省略:
//适配器
publicclassOrAdapterextendsBaseAdapter{
@Override
publicintgetCount(){
returndataMap.size();
}
@Override
publicObjectgetItem(intposition){
returnposition;
}
@Override
publiclonggetItemId(intposition){
returnposition;
}
@Override
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
ViewHolderviewHolder=null;
if(convertView==null){
viewHolder=newViewHolder();
convertView=getActivity().getLayoutInflater().inflate(
R.layout.activity_order_item,null);
initViewHolder(convertView,viewHolder,position);
}else{
viewHolder=(ViewHolder)convertView.getTag();
}
refreshViewHolder(position,viewHolder);
returnconvertView;
}
privateStringgetTag(StringorderId,Stringinstrument){
StringBuildersb=newStringBuilder();
sb.append(orderId).append(";").append(instrument);
returnsb.toString();
}
privatevoidrefreshViewHolder(intposition,ViewHolderviewHolder){
//------------------为了防止item被复用------------------
viewHolder.modeifyorder.setTag(getTag(orderid,instrument));
}
privatevoidinitViewHolder(ViewconvertView,ViewHolderviewHolder,
finalintposition){
viewHolder.modeifyorder=(RelativeLayout)convertView
.findViewById(R.id.modeifyorder);
viewHolder.modeifyorder.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewv){
intisman=(Integer)dataMap.get(position).get("ismanual");
intisprice=(Integer)dataMap.get(position).get(
"ispricereached");
Stringtag=v.getTag().toString();
StringtagVec[]=tag.split(";");
longorderId=Long.parseLong(tagVec[0]);
StringinstStr=tagVec[1];
}
});
convertView.setTag(viewHolder);
}
privateclassViewHolder{
TextVieworderid;
RelativeLayoutmodeifyorder;
}
}
有不明白的可以相互交流
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android控件用法总结》、《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android数据库操作技巧总结》及《Android资源操作技巧汇总》
希望本文所述对大家Android程序设计有所帮助。
热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语