频道栏目
首页 > 程序开发 > 移动开发 > 其他 > 正文
ListView添加FootView的出现的坑和解决办法
2018-08-28 15:45:37           
收藏   我要投稿

一、

java.lang.ClassCastException: 自己的包名+Adapter名 cannot be cast to android.widget.HeaderViewListAdapter

出现场景:setAdapter后,由于业务需要,需要removeFootView,报如上异常。

解决方案:在初始化组件时(一般setAdapter都是写在组件初始化代码里的),先addFootView,若是一开始不需要显示footView,可在setAdapter调用后removeFootView即可。

这样setAdapter执行时会转换我们的adapter为HeaderViewListAdapter,后续相关操作就不会出现转化异常的问题了。

二、一开始FootView上的点击事件有效,remove再add,点击事件失效。

业务逻辑:搜索历史界面,footview是清除历史记录的按钮

出现场景:进入页面打开搜索历史,点击footview可以执行,接着在当前页面添加搜索,动态展示出搜索历史,尽管footview依旧能够显示出来,但此时点击footview,发现点击事件不再被触发。

解决方案:尽管FootView定义的是全局变量,但removeFootView后点击事件就会失效,因此每次addFootView时传入的footview需要重新实例化即可。

点击复制链接 与好友分享!回本站首页
上一篇:windows环境下Git安装教程
下一篇:Gmail style MultiAutoCompleteTextView for Android介绍
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站