大佬教程收集整理的这篇文章主要介绍了Android开发实现ListView部分布局监听的方法,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
本文实例讲述了AndroID开发实现ListVIEw部分布局监听的方法。分享给大家供大家参考,具体如下:
androID ListvIEw 部分布局监听,很多人会想,直接在适配器里面,拿到那个布局,添加点击事件就可以了,不过我会告诉你的是这时候position是错乱的,是无法根据用户点击的位置来对每个item进行相应的逻辑操作。 同事给我想到的一个办法是:给每个布局提前设置一个tag,也就是绑定对应需要设置的数据,在点击事件的时候,会有一个vIEw,根据该vIEw重新拿到这个tag,取得里面的数据,就可以了,防止错乱的问题,成功解决,大概的代码如下,因为加密的需要,很多代码省略:
// 适配器 public class OrAdapter extends BaseAdapter { @OverrIDe publi@R_607_8592@ getCount() { return dataMap.size(); } @OverrIDe public Object getItem(int position) { return position; } @OverrIDe public long getItemID(int position) { return position; } @OverrIDe public VIEw getVIEw(int position,VIEw convertVIEw,VIEwGroup parent) { VIEwHolder vIEwHolder = null; if (convertVIEw == null) { vIEwHolder = new VIEwHolder(); convertVIEw = getActivity().getLayoutInflater().inflate( R.layout.activity_order_item,null); initVIEwHolder(convertVIEw,vIEwHolder,position); } else { vIEwHolder = (VIEwHolder) convertVIEw.getTag(); } refreshVIEwHolder(position,vIEwHolder); return convertVIEw; } private String getTag(String orderID,String instrument) { StringBuilder sb = new StringBuilder(); sb.append(orderID).append(";").append(instrument); return sb.toString(); } private voID refreshVIEwHolder(int position,VIEwHolder vIEwHolder) { // ------------------为了防止item被复用------------------ vIEwHolder.modeifyorder.setTag(getTag(orderID,instrument)); } private voID initVIEwHolder(VIEw convertVIEw,VIEwHolder vIEwHolder,final int position) { vIEwHolder.modeifyorder = (relativeLayout) convertVIEw .findVIEwByID(R.ID.modeifyorder); vIEwHolder.modeifyorder.setonClickListener(new OnClickListener() { @OverrIDe public voID onClick(VIEw v) { int isman = (Integer) dataMap.get(position).get("ismanual"); int isprice = (Integer) dataMap.get(position).get( "ispricereached"); String tag = v.getTag().toString(); String tagVec[] = tag.split(";"); long orderID = Long.parseLong(tagVec[0]); String instStr = tagVec[1]; } }); convertVIEw.setTag(vIEwHolder); } private class VIEwHolder { TextVIEw orderID; relativeLayout modeifyorder; } }
有不明白的可以相互交流
更多关于AndroID相关内容感兴趣的读者可查看本站专题:《Android控件用法总结》、《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android数据库操作技巧总结》及《Android资源操作技巧汇总》
希望本文所述对大家AndroID程序设计有所帮助。
以上是大佬教程为你收集整理的Android开发实现ListView部分布局监听的方法全部内容,希望文章能够帮你解决Android开发实现ListView部分布局监听的方法所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。