常见错误之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/viewpager Pager class: class android.support.v4.view.ViewPager Problematic adapter: class com.activity_test.logo.ViewPagerAdapter。

解决方法:

在初始化ViewPager时,应先给Adapter初始化内容后再将该adapter传给ViewPager,如果不这样处理,在更新

adapter的内容后,应该调用一下adapter的notifyDataSetChanged方法,否则在ADT22以上使用会报这个错。

本人是在运行【Android
UI设计与开发】第03期:引导界面(三)仿微信引导界面以及动画效果

【Android
UI设计与开发】第05期:引导界面(五)实现应用程序只启动一次引导界面

上面的两个示例引导界面时出现此错误的。解决方法是将

/**
     * 初始化数据
     */
    private void initData() {
        // 设置监听
        viewPager.setOnPageChangeListener(new MyOnPageChangeListener());
        // 设置适配器数据
        viewPager.setAdapter(vpAdapter);  

        //将要分页显示的View装入数组中
        views.add(view1);
        views.add(view2);
        views.add(view3);
        views.add(view4);
        views.add(view5);
        views.add(view6);  

        // 给开始按钮设置监听
        startBt.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                 startbutton();
            }
        });
    }

上面程序中

 // 设置适配器数据
        viewPager.setAdapter(vpAdapter);

//将要分页显示的View装入数组中
        views.add(view1);
        views.add(view2);
        views.add(view3);
        views.add(view4);
        views.add(view5);
        views.add(view6);

的位置调换一下就OK了。原因是在设置数据适配器时,必须保证适配器中存有数据,否则就会报上面所说的错误。

参考链接:bug集合及其解决方法,bug集合解决方法

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

时间: 2024-11-10 13:34:17

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

【MyEclipse常见错误】-java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory的解决

ApacheJavaTomcatMyeclipse 自己前一段时间出现了这个问题,通过在网上搜索,大概知道了原因,整理下一,以供大家参考. 将项目部署好后,启动tomcat后报错,java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory 报这个错说明你用的是tomcat7. 目前的MyEclipse的内核为Eclipse3.5.* 尚不能提供直接对tomcat 7的支持,最新的Eclipse3.6.*可以直接支持. 解决

dubbo应用既当提供者又当消费者java.lang.IllegalStateException: Duplicate application configs

一个dubbo的应用启动时报错:java.lang.IllegalStateException: Duplicate application configs.原因如下: 当一个应用既当提供者和消费者时,必定会分别配置应用的名称: 提供者: [html] <dubbo:application name="XXXX" /> 消费者: [html] <bean id="dubbo_application" class="com.alibaba.

Hibernate常见错误:java.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibe

hibernate4 与 spring3有点冲突 http://blog.csdn.net/gyflyx/article/details/7632645 整合NoSuchMethodError错误 and 升级Spring3.1RC2 和Hibernate4.0.0CR7遇到的一些问题及解决 2012-02-20 10:33:28|  分类: 编程_SSH |字号 订阅 我使用的是hibernate4和spring3,然后报的错误是 java.lang.NoSuchMethodError: or

android异常java.lang.IllegalStateException: getDatabase called recursively问题

问题场景: 在app首次启动使用到db的时候,后台提示如下错误信息 java.lang.IllegalStateException: getDatabase called recursively at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:204) at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase

java.lang.IllegalStateException: Zip File is closed

最近在研究利用sax读取excel大文件时,出现了以下的错误: java.lang.IllegalStateException: Zip File is closed at org.apache.poi.openxml4j.util.ZipFileZipEntrySource.getEntries(ZipFileZipEntrySource.java:45) at org.apache.poi.openxml4j.opc.ZipPackage.getPartsImpl(ZipPackage.ja

java.lang.IllegalStateException: Failed to load ApplicationContext(2)

错误提示:java.lang.IllegalStateException: Failed to load ApplicationContext Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [applicationContext.xml]: Error sett

java lang IllegalStateException The maximum number of cell

1.错误描述 java.lang.IllegalStateException: The maximum number of cell styles was exceeded. You can define up to 4000 styles in a .xls workbook at org.apache.poi.hssf.usermodel.HSSFWorkbook.createCellStyle(HSSFWorkbook.java:1215) at report.utils.ExportSt

java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already.

java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [META-INF/services/javax.xml.bind.JAXBContext]. 解决方法:先将项目remove,然后停止服务器,到应用程序目录下将部署的应用删除,然后启动服务器,重新部署就ok了 原因:暂不明确,可能是修改后有原来的残留物.

java.lang.IllegalStateException:Web app root system property already set to different value 错误原因及解决 Log4j

Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口 服务器.NT的事件记录器.UNIX Syslog守护进程等:我们也可以控制每一条日志的输出格式:通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程.最令人感兴趣的就 是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码. 其实呢,我觉得他就是一个能对我们的WEB应用监控的组件,让我们可以了解到我们的程序运行的情况 ,以及出错后