码迷,mamicode.com
首页 > 其他好文 > 详细

删除ListView中所有Item项

时间:2015-06-27 10:00:54      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:删除所有列表项   listview   

今天做项目遇到一个一键删除ListView中所有列表项的需求,这里自己记录一下。


刚开始的想法是将设置一个空的Adapter,让后将空的Adapter赋给ListView,但后来想想这样太麻烦了,就去寻找了一下官方时候给了这样的方法。
别说,还真的有类似的方法!
ViewGroup类下面有一个removeAllViews()方法,看名字就很像,试了一下竟然不行!
报了这样的错误:

removeAllViews() is not supported in AdapterView

竟然说这个不是给AdapterView们用的,种族歧视啊,有木有!
怀着这样不忿的心态,我试图寻找一个能用的方法,果然,被我发现了她——同样是ViewGroup类中的方法,名字也很相似——removeAllViewsInLayout()。


俗话说龙生九子各有不同,虽然这两个方法是亲兄妹,但后者还是很厚道的,AdapterView可以与之愉快地玩耍。
使用后一测试,发现虽然没报错,但所有的Item还好好地躺在ListView中,一点击Item才会全部消失。
其实,这是由于View没有刷新的问题,removeAllViewsInLayout()之后接着调用postInvalidate()来刷新下。

    mList.removeAllViewsInLayout();
    mList.postInvalidate();

这样,就OK了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

删除ListView中所有Item项

标签:删除所有列表项   listview   

原文地址:http://blog.csdn.net/j_bing/article/details/46652987

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!