如果listView中的item有button控件,那么如何获取listView中的button控件?又如何在点击button时定位当前的item?

在listview中的listitem设置事件响应,如果listitem中有button控件,这时候listitem就不会捕获到点击事件,而默认的是listitem中的button会捕获点击事件。

要想在点击item时生效,只需要设置button的非高亮就可以了,如下:

android:focusable="false"

或者设置listview高亮,如下:

        myListView.setFocusable(true);myListView.setFocusableInTouchMode(true);

现在是项目开发的时候遇到了一个问题,如果点击了listitem中的button,怎么获取这个button是在哪一个item中呢?换句话说,就是点击了listitem中的button,如何获取该listitem的索引?如果能得到了这个索引,获取item里的值就很容易了。

通过此方法可以实现:在listitem中初始化button的时候,给该button添加一个setTag方法,将此时的索引值传进去,然后在button的onclick事件中调用view的getTag方法,即可将listitem的索引读出来。具体步骤如下:

1,初始化button的时候,通过setTag方法传入一个item的索引值。


mButton.setTag(position); //此处的mButton就是定义的button,Position是view里边的位置  

2,监听click事件的时候,position就是点击button所在Item中的位置,通过这个位置就可以得到Item中的值。

private OnClickListener tagButtonOnClick = new OnClickListener() {public void onClick(View v) {int position = (Integer) v.getTag();name = (String) list.get(position).get("name");}
}

详细的例子可参考这个链接:android中在Activity中响应ListView内部按钮的点击事件的两种方法_今人不见古时月,今月曾经照古人的博客-CSDN博客

Android listView中的button点击事件相关推荐

  1. cocos2d-x ListView滚动与Button点击事件

    初学cocos2dx开发游戏,在实际开发游戏中遇到一些问题,比如滑动菜单,滑动button不截断ListView的滑动. 下面发表一下个人见解,本人初学,如各位大佬发现错误,请指正 用ListView ...

  2. Android应用中捕捉所有点击事件实现

    一.思路 (1)获取Activity对象: (2)遍历所有子控件: (3)注册点击事件. 二.实现 (1)获取Activity对象 activity对象的获取可以考虑多个方面,从两个方面进行选择: ① ...

  3. 在Activity中响应ListView内部按钮的点击事件的两种方法

    转载:http://www.cnblogs.com/ivan-xu/p/4124967.html 最近交流群里面有人问到一个问题:如何在Activity中响应ListView内部按钮的点击事件,不要在 ...

  4. Android Listview中Button按钮点击事件冲突解决办法

    今天做项目时,ListView中含有了Button组件,心里一早就知道肯定会有冲突,因为以前就遇到过,并解决过,可惜当时没有记录下来. 今天在做的时候,继续被这个问题郁闷了一把,后来解决后,赶紧来记录 ...

  5. Android中按钮的点击事件的四种写法

    如题,在Android中按钮的点击事件有四种写法,如下图. 界面为四个Button+一个TextView+一个ImageView activity_main布局文件如下: <?xml versi ...

  6. Android按back后执行过程,安卓app测试获取接口返回数据,然后处理数据,放在一个button点击事件里面 执行顺序有问题?无法获取数据?...

    private JSONArray jsonArray; btn1.setOnClickListener(new View.OnClickListener() { @Override public v ...

  7. 【Android开发】三种方法实现Button点击事件响应

    目录 1.在xml中对onclick()进行指定方法 2.NEW一个OnClickListenner()接口实现 3.实现OnClickListener接口(Switch方法) Hello,你好呀,我 ...

  8. ListView条目中有CheckBox点击事件失效问题

    在listview的item中包含有textview和checkBox.我们既想获取listitem的点击事件,又想获取listitem中textview的点击事件和listitem中checkBox ...

  9. Button点击事件

    Button点击事件一般有四种方法: 1:匿名内部类 2: 自定义内部类 3 :通过当前Activity实现点击事件接口 4 :在xml文件中绑定 匿名内部类格式 : <Buttonandroi ...

最新文章

  1. 表现层持续解耦带来的模式转变 MVC MVP MVVM
  2. SVN目录结构及作用
  3. C++米勒拉宾算法模板
  4. preg_replace在java中_Java相当于PHP的preg_replace_callback
  5. 推荐 ADO.NET Entity Framework (EDM) 相关技术文章
  6. 这文字的起始位置_如何用AE快速制造文字特效视频的效果?3分钟教你学会
  7. #边学边记 必修4 高项:对事的管理 第六章 项目质量管理 质量管理基础
  8. 需求跟踪矩阵(Requirement Tracking Matrix)
  9. 计算机加号公式,怎样在excel表格中显示加号,而不被当成是公式来计算
  10. Check list of writing
  11. Ubuntu 16.04使用阿里云邮箱命令行发送邮件配置(完整亲测版)
  12. python制作九宫图
  13. 【ubuntu】使用ubuntu杀死指定端口
  14. 文通Android平台证件识别SDK
  15. Python-Snappy的安装 以及报错解决
  16. 中年危机如何化解分析
  17. python的笛卡儿积扩展
  18. resharper激活
  19. 逐行Porgressive隔行Interlaced扫描的超详细讲解
  20. 基于android的旅客管理系统,基于Android的铁路旅客运输管理子系统的设计与实现...

热门文章

  1. Docker安装Nginx教程步骤
  2. 不要过分信赖别人,即便是你的影子,也会在黑暗中离开你
  3. Win10/11 GoLand 使用WSL2
  4. uniapp/小程序 canvas画布导出图片并下载到本地
  5. Dask简介(python)
  6. c语言数码管,数码管原理
  7. 【Linux 性能优化系列】Linux 性能优化 -- CPU 性能篇(一) 平均负载、上下文切换、CPU 使用率
  8. c语言数组求欧几里得距离,如何计算由包含x,y的矩阵定义的两点之间的欧几里得距离?...
  9. Properties文件和Properties类
  10. 判断一个数,是否是质素