adapter无法清空视图

发布于 2022-09-02 14:45:13 字数 471 浏览 23 评论 0

项目中需要用到标签,所以自定义了一个view继承viewgroup,然后自定义了一个adapter,继承了baseadapter,需要实现没有值时,视图里面没有内容,但是实际写的时候,清空了list,之后notify,视图里面最后一个子view删除不了,但是list的确没有内容,添加新内容时视图会瞬间刷新

一开始以为是viewhodler的问题,但是debug时发现,list.size=0时,getview方法根本不
运行,最后使用了viewgroup.removeAllViews总算清空了视图,但是对adapter无法清空任然
不理解,ArrayAdapter中提供了一个adapter.clear方法,可以清空视图,看了源码,也仅仅
是在adapter中先清空list,然后notifydatasetchange。我在adapter中自定义了一个
clear方法,先清空list,然后notify,任然不能实现。

虽然问题解决了,但是还是希望有人告诉我具体原理。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

欢你一世 2022-09-09 14:45:13

应该是你自定义的viewgroup有问题,里面除了填充了Adapter的数据外,还有别的View。

眼藏柔 2022-09-09 14:45:13

不明白你是如何做到的,Adapter是与AdapterView进行绑定的,他们之间有注册关系,这样才能在Adapter更新时通知到AdapterView进行更新。但是你直接用ViewGroup来做这样事情,不知道你是怎样完成的?也做了绑定?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文