程序笔记   发布时间:2022-06-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了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动态布局之动态加入TextView和ListView的方法
  • Android中ListView Item布局优化技巧
  • Android App界面的ListView布局实战演练
  • Android实现的ListView分组布局改进示例
  • Android ListView自动显示隐藏布局的实现方法
  • Android ListView添加头布局和脚布局实例详解
  • Android自定义listview布局实现上拉加载下拉刷新功能
  • Android Listview中显示不同的视图布局详解及实例代码
  • Android ListView监听滑动事件的方法(详解)
  • Android ListView里控件添加监听方法的实例详解

大佬总结

以上是大佬教程为你收集整理的Android开发实现ListView部分布局监听的方法全部内容,希望文章能够帮你解决Android开发实现ListView部分布局监听的方法所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。