关于listview获取item的view时返回null的异常
2016-03-25 13:49
344 查看
要获取listview的item,通过getChild(position)方法:
getChildAt():这个函数是用来获得ListView的Item,它能取到的Item的最大值为当前可见的Item数目,比如,当前屏幕只能看到ListView的6个Item,但你调用了getChildAt(6),相当于要获得ListView第七个可见的Item,这个时候就会报出NullPointerException ,我在这里提供的解决方法就是调用adapter的getView方法,这个方法可以获取ListView的所有Item
mListView.getAdapter().getView(i, null, null);
LinearLayout linearlayout = (LinearLayout)mListView.getAdapter().getView(i, null, null);
TextView textview = (TextView)linearlayout.getChildAt(0);
所以在GridView和ListView中,getChildAt ( int position ) 方法中position指的是当前可见区域的第几个元素。
//如果你要获得GridView或listview的第n个View,那么position就是n减去第一个可见View的位置
View view = getChildAt ( n - mListviewgetFirstVisiblePosition() ) ;
getChildAt():这个函数是用来获得ListView的Item,它能取到的Item的最大值为当前可见的Item数目,比如,当前屏幕只能看到ListView的6个Item,但你调用了getChildAt(6),相当于要获得ListView第七个可见的Item,这个时候就会报出NullPointerException ,我在这里提供的解决方法就是调用adapter的getView方法,这个方法可以获取ListView的所有Item
mListView.getAdapter().getView(i, null, null);
LinearLayout linearlayout = (LinearLayout)mListView.getAdapter().getView(i, null, null);
TextView textview = (TextView)linearlayout.getChildAt(0);
所以在GridView和ListView中,getChildAt ( int position ) 方法中position指的是当前可见区域的第几个元素。
//如果你要获得GridView或listview的第n个View,那么position就是n减去第一个可见View的位置
View view = getChildAt ( n - mListviewgetFirstVisiblePosition() ) ;
相关文章推荐
- 【c/c++】字符串相关操作
- Java 8的新特性—终极版
- 项目中用到的工具记录,持续更新
- 解决 使用高德地图定位 导致DatePicker 样式变为英文问题
- 与Python Falling In Love_Python跨台阶(环境搭建)
- apollocaffe编译问题
- jquery点击除div的地方 隐藏div层
- 企业家何时应该放权
- ubuntu出现系统内部错误--安装了一些陈旧的软件包
- C++ 精进篇(一)-数据类型
- Win10安装iis建议
- IOS中KVO模式的解析与应用
- 算法导论 动态规划之钢条切割
- centos 6.7下 elasticsearch的安装
- Redis持久化————AOF与RDB模式
- 双网卡实现负载均衡技术的实现与原理
- linux查看磁盘io的几种方法
- Android Ultra PullToRefresh的使用和简单定制
- 27.Material Design详解
- 无法在节点上执行物理内存检查