异常 java.lang.ClassCastException:cannot be cast to android.widget.HeaderViewListAdapter.的解决方法
来源:互联网 发布:hdmi网络传输器设置 编辑:程序博客网 时间:2024/05/01 20:59
- 今天,后台开发人员小凡同学测试出了我写的一个页面的bug,这个页面很简单,就是listView加载数据,除了正常的创建adapter和listView设置adapter简单的操作外,我还用到了listView的
addFooterView(view)方法和removeFooterView(view)方法。很奇怪,在我的手机上都是好好的,可以正常的加载出来。可是在小凡同学的手机上加载数据的时候就直接崩了。所以我用小凡同学的手机测试了一下,看了一下logCat打印的错误日志信息上发现是下面的错误:
上面的日志信息显示错误是因为:类型转换的异常,定位后发现出错的地方在listView.removeFooterView(view)方法这一行。一时半会没解决,就去网上搜了一下解决方案。说是因为:
如果你在listView.setAdapter(adapter)之后添加头部布局或者尾部布局,即addHeaderView(view)或 addFooterView(view)。
那么在你listView.removeHearderView或removeFooterView时就会报该异常。
而解决方法是:
在listView.setAdapter(adapter)之前调用addHeaderView(view)或addFooterVeiw(view)方法。
确实,我在代码中在listView设置adapter之前调用addHeaderView(view)和addFooterView(view)后再用小凡同学的手机测试,问题就成功的解决了。
说点自己想法:之前没改动代码,我的手机是能成功加载出数据的,而小凡同学的手机就不行。我还认为有可能是手机系统版本的问题。我觉得4.4版本以上的手机应该就可以避免这个问题,但是4.4版本以下的就还没有解决这个问题。因为我的手机系统版本是4.4.4的,而小凡同学的手机系统版本是4.3的。所以为了可以适配所有的手机,就需要在listView设置adapter之前调用addHeaderView(view)和addFooterView(view)。
每天进步一点点!加油!
0 0
- 异常 java.lang.ClassCastException:cannot be cast to android.widget.HeaderViewListAdapter.的解决方法
- java.lang.ClassCastException: android.widget.HeaderViewListAdapter cannot be cast to com.android.mms
- 抛出 java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to andr异常
- cannot be cast to android.widget.HeaderViewListAdapter
- cannot be cast to android.widget.HeaderViewListAdapter
- cannot be cast to android.widget.HeaderViewListAdapter
- cannot be cast to android.widget.HeaderViewListAdapter
- cannot be cast to android.widget.HeaderViewListAdapter
- cannot be cast to android.widget.HeaderViewListAdapter
- cannot be cast to android.widget.HeaderViewListAdapter
- android.widget.HeaderViewListAdapter cannot be cast to ***
- Android: java.lang.ClassCastException: android.widget.imageView cannot be cast to android.widget.tex
- java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.TextView
- java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
- java.lang.ClassCastException: android.widget.ImageView cannot be cast to android.widget.TextView解决办法
- java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.LinearLayout
- java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to android.widget.AbsListView$LayoutPara
- java.lang.ClassCastException~android.widget.ImageView cannot be cast to android.widget.Button~
- SpatialHadoop中空间索引系列之(四)空间格网索引实现
- Android中Mvp的使用实例
- mysql explain详解
- 玲珑oj 1032 (容斥原理或前缀和优化dp)
- 2016年理科生可以报考的十大热门专业
- 异常 java.lang.ClassCastException:cannot be cast to android.widget.HeaderViewListAdapter.的解决方法
- TextField的输入问题
- Python与数据库(1)mysql
- AngularJS之ng-if指令
- NoSQL_Cassandra_教程五_设置Cassandra登录密码
- 打包apk
- 数据处理方法
- 404错误页面简单的写法
- bzoj3333 排队计划