Android GrideView
来源:互联网 发布:大数据新闻案例分析 编辑:程序博客网 时间:2024/06/05 00:16
前几天在用gridview这个控件,想给gridview的每个item添加按下的动画效果,结果在获取子view上碰到一点麻烦,首先我想获取gridview的item个数,使用方法gridView.getChildCount(),结果获取到的返回结果竟然是0,可是我明明添加了5个item,后来有发现有一个gridView.getCount()的方法,试了一下返回结果正确,后来上网一查,才知道getChildCount()返回的是显示层面上的“所包含的子 View 个数”,而getCount() 返回的是其 Adapter.getCount() 返回的值。也就是“所包含的 Item 总个数”。也就是说,第一种情况:当GridView中的 Item 比较少无需滚动即可全部显示时,二者是等价的;第二种情况:当 Item 个数较多需要滚动才能浏览全部的话, getChildCount() 返回的是当前可见的 Item 个数。但是我的demo中,我的gridview明明属于第一种情况,应该说使用getChildCount()与getCount()结果应该是一样的才对,但却只有使用getCount()才能获取正确的item个数,实在想不明白,好吧,这个问题就等你们整明白了告知一下博主了。。接下来,我要获取gridview的子view,其中有这样一个方法gridView.getChildAt(intposition),返回的是一个view,欣然用之,结果又返回一个null给我,继续查,原来getChildAt(init position)中的position是指当前gridview的可见区域的第几个子view,没错啊,我的5个item都在可见区域,给我返回null是几个意思,然后我突然又想起gridview的adapter中有一个getView(int position, View convertView, ViewGroup parent)的方法,惊天一笔写下了gridView.getAdapter().getView(position, null, null),成功获取到了gridview的子view!!!!
总结一下,获取gridview的item个数和gridview的子view共有两种方法:
第一种:针对当前gridview的可见区域(这种方法我自己用了无效,原因不明)
获取当前可见区域的子view个数:gridView.getChildCount();
获取当前可见区域的子view:gridView.getChildAt(intposition); position为当前可见区域的相对位置
第二种:针对总体的gridview(其实就是gridview的adapter)
获取实际adapter中的view个数:gridview.getCount();
获取实际adapter中的子view:gridView.getAdapter().getView(position, null, null); position为子view在adapter中的具体位置
- Android GrideView
- GrideView
- Android UI基础之GrideView的使用
- GrideView 分页
- GrideView 分页
- grideview用法
- Grideview自定义
- Android 自定义GridView,解决嵌套Grideview的显示不完全的问题
- Grideview的高级使用
- 关于grideview添加列
- ViewPager+ListView+grideView
- GrideView简单使用
- GrideView设置行,表头
- scollview嵌套grideview
- GrideView与SimpleAdapter
- Grideview控件绑定数据
- GrideView 的使用方法
- grideview中特殊标某行
- Unity NGUI3.0.5 FontMaker 使用注意事项w
- 在文档中创建和插入新元素
- zurmo本地安装(windows)
- 尽量使用区间成员函数代替它们的单元素兄弟
- nagios安装
- Android GrideView
- Java的内存机制
- Spring Cloud Eureka--服务发现
- LabelEncoderm OneHotEncoder 在python中的运用
- 仿京东顶部加载动画
- linux地址重用 net.ipv4.tcp_tw_reuse
- HTML5之帆布(canvas)(二)
- html的使用(1)
- 改变战争历程的秘密统计学家们