博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于listview的item的点击事件的各个参数使用
阅读量:5954 次
发布时间:2019-06-19

本文共 1667 字,大约阅读时间需要 5 分钟。

hot3.png

之前一直对listview的点击事件的参数不太了解,获取listview的子项的各种数据时就各种问题,所以就上网了解了一些,在这里分享一下,用得着的小伙伴可以看一下:

listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {                        @Override                        public void onItemClick(AdapterView
parent, View view, int position, long id) { ListView listView = (ListView) parent;//parent代表你点击的那个listview HashMap
hashMap = (HashMap
) listView.getItemAtPosition(position); String name = hashMap.get("name"); String idd=hashMap.get("id"); Toast.makeText(getContext(),name+idd,Toast.LENGTH_SHORT).show(); TextView stuId = (TextView) view.findViewById(R.id.idTo); TextView stuName = (TextView) view.findViewById(R.id.nameTo); TextView stuAge = (TextView) view.findViewById(R.id.ageTo); } });

对于onItemClick里面的各个参数的使用示例:

具体代码就不贴了,只贴个监听事件的代码。

parent代表你点击的那个listview,view表示你点击的那个listview的item,你可以通过view.findViewByid来操控item中的各个子控件。

如果你的listview中的adapter中添加的含HashMap的数据,可以通过将parent变成listview格式,如上,再强制格式listview.getItemAtPosition为HashMap类型,就可以获得之前list中的放置的

另外,可能有时listview需要自定义适配器,item中有一些需要占据焦点的控件,如CheckBox和Button等,这时item就获取不到焦点,导致控件的监听事件无响应,可以通过android:descendantFocusability属性设置在item的根布局,然后子控件的focusable设置false,就可以了,descendantFocusability的属性有三个:

beforeDescendants:viewgroup会优先其子类控件而获取到焦点

afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点

blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点

转载于:https://my.oschina.net/heyongrui/blog/780696

你可能感兴趣的文章
一个很好的图片等比压缩类
查看>>
Linux 用户和组 (1)基本概念
查看>>
如何提高网络安全指数
查看>>
使用 ‘In Place’ 直接从MySQL 5.0升级至5.7
查看>>
MatLab的排序函数-sort
查看>>
FIFO算法与LRU算法
查看>>
Office365下部署SharePoint站点集
查看>>
Nginx环境搭建Discuz论坛
查看>>
无法在VMware Player中安装64位系统
查看>>
我的友情链接
查看>>
在集合点的同步 CyclicBarrier
查看>>
源码编译搭建LAMP环境
查看>>
05 面向对象基础
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
webStorm部分以及重要快捷键
查看>>
linux启动系统不显示进度条设置方法
查看>>
利用java poi对excel表的读写操作
查看>>
关于vim的误删除经历
查看>>
调用腾讯优图开放平台进行人脸识别-Java调用API实现
查看>>