java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been calle

最近做listview增加头的时候出现的这个问题,简单说一下,我用的是4.4.4的测试机,完全没事

需求是:addheader是一个轮播图,是动态从后台获取的,如果没有就不显示,放在4.4.4的环境下测试的是先去判断从服务器取得的数据,然后再决定是否去添加头

但是4.4以下貌似不可以这么干,程序会崩溃,给出这样的提示,意思就是你必须在setadapter之前就去增加头,不然的话就会崩,可是现在是你已经加上了,如果从服务器获取的数据并没有轮播图的数据怎么办,那么问题来了,如何解决

其实可以这样,我这有一个思路,我是这么做的,其他的没想到:

你可以在xml中设置为gone,然后判断服务器是否设置visable,但是addheader还是要加在set前面,希望大家有更好的意见说一下

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

时间: 2024-11-29 05:36:02

java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been calle的相关文章

异常java.lang.IllegalStateException的解决

在初始化viewPagerAdapter时,显示异常.从网上找了找有两类这样的问题,一种是说给一个视图设置了两个父类,如: TextView tv = new TextView();layout.adView(tv);layout2.adView(tv);这样就会报异常,需要先在其父视图中释放才能添加到另一个父视图 第二种是说:初始化时使用inflater可能出现异常 View result = inflater.inflate(R.layout.customer_layout, contain

Java.lang.IllegalStateException Activity has been destroyed

03-04 12:01:05.468: E/AndroidRuntime(2474): FATAL EXCEPTION: main03-04 12:01:05.468: E/AndroidRuntime(2474): java.lang.IllegalStateException: Activity has been destroyed03-04 12:01:05.468: E/AndroidRuntime(2474):     at android.support.v4.app.Fragmen

Fragment java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState

首先描述下所要实现的功能点: MainActivity使用Fragment实现底部菜单,底部共有四个菜单按钮,分别对应:AFragment,BFragment,CFragment,DFragment.其中AFragment是默认显示. 点击CFragment中的一个button后跳转到第二个Activity界面:SecondActivity. SecondActivity返回键有两个:button01.button02.其中button01返回的是CFragment:button02返回的是AF

android 修改listview中adapter数据时抛出异常java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification问题

近日在做项目时遇到非必现crush,具体异常信息为: // Short Msg: java.lang.IllegalStateException // Long Msg: java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not mo

常见错误之java.lang.IllegalStateException: The application’s PagerAdapter changed the adapter’s cont。。。

如果在logcat日志中出现以下错误: java.lang.IllegalStateException: The application's PagerAdapter changed the adapter's contents without calling PagerAdapter#notifyDataSetChanged! Expected adapter item count: 0, found: 4 Pager id: com.activity_test.logo:id/viewpag

批量下载的实现及java.lang.IllegalStateException异常

在工作流的一张表单里可能会有多个步骤上传附件,在用户的待办中往往会存在多条带有附件的任务,如果一一打开并且点击下载链接下载,不仅费时,而且繁琐,用户体验较差. OA系统采用的是FastDFS做为文件服务器,FastDFS的Java客户端提供了上传.下载等功能供调用. 在我之前的文章里对此有描述,目前已有的代码有对文件的批量上传功能,但下载的参数往往是针对单个文件.比如单个文件的下载方法如下: /**  * 文件下载  * @author chao.gao  * @date 2014-2-17 下

java.lang.IllegalStateException: You need to use a Theme.AppCompat theme

配置: 中设置theme为 <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:theme="@android:style/Theme.Light.NoTitleBar" android:label="@string/app_name" > 报错信息: 09-20 10:31:58.185 1392-1

开发问题及解决--java.lang.IllegalStateException: Circular dependencies cannot exist in RelativeLayout

<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" > <Horiz

Bug:java.lang.IllegalStateException

使用迭代的时候,出现了java.lang.IllegalStateException 代码: 1 for ( TaskInfo info : userTaskInfos ) { 2 if ( info.isChecked() ) { 3 am.killBackgroundProcesses(info.getPackageName()); 4 if ( getPackageName().equals(info.getPackageName()) ) { 5 continue; 6 } 7 aval