您的位置:首页 > 其它

关于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() ) ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: