关于在项目中多个类继承FragmentPagerAdapter时,改变getCount(),FC的问题解决

在贸易通项目,报以下FC

08-21 09:56:21.515: E/AndroidRuntime(1629): java.lang.IllegalStateException: The application‘s PagerAdapter changed the adapter‘s contents without calling PagerAdapter#notifyDataSetChanged! Expected adapter item count: 2, found: 50000 Pager id: com.example.dianzikouanv1:id/pager_banner Pager class: class android.support.v4.view.ViewPager Problematic adapter: class com.example.dianzikouanv1.fragment.HomeFragment$BannerPagerAdapter

08-21 09:56:21.515: E/AndroidRuntime(1629): at android.support.v4.view.ViewPager.populate(ViewPager.java:966)

说是没有notifyDataSetChanged,但是对比原来项目该notifyDataSetChanged都写了。在报错fragment打log

发现每次getCount改变就挂

08-21 09:56:21.200: E/HomeFragment(1629): BannerPagerAdapter_getCount()_offLine

08-21 09:56:21.201: E/HomeFragment(1629): BannerPagerAdapter_getCount()_offLine

08-21 09:56:21.233: E/HomeFragment(1629): BannerPagerAdapter_getCount()_offLine

08-21 09:56:21.233: E/HomeFragment(1629): BannerPagerAdapter_getCount()_offLine

08-21 09:56:21.420: E/HomeFragment(1629): onPageScrolled--1_0.0_0

08-21 09:56:21.500: E/HomeFragment(1629): initBannerMessage()

08-21 09:56:21.505: E/HomeFragment(1629): BannerPagerAdapter_getCount()_onLine

08-21 09:56:21.515: E/AndroidRuntime(1629): FATAL EXCEPTION: main

上网找资料,发现一段:

这不是PagerAdapter中的Bug,通常情况下,调用notifyDataSetChanged方法会让ViewPager通 过Adapter的getItemPosition方法查询一遍所有child view,这种情况下,所有child view位置均为POSITION_NONE,表示所有的child view都不存在,ViewPager会调用destroyItem方法销毁,并且重新生成,加大系统开销,并在一些复杂情况下导致逻辑问题。特别是对于 只是希望更新child view内容的时候,造成了完全不必要的开销。

考虑,是否多处引用了FragmentPagerAdapter,造成的冲突。

找到本项目中另外一个之前修改的继承FragemtnPagerAdapter的内部类,把它独立写一个class,

时间: 2024-10-12 21:44:25

关于在项目中多个类继承FragmentPagerAdapter时,改变getCount(),FC的问题解决的相关文章

Java项目中每一个类都可以有一个main方法

Java项目中每一个类都可以有一个main方法,但只有一个main方法会被执行,其他main方法可以对类进行单元测试. public class StaticTest { public static void main(String[] args) { Employee[] staff=new Employee[3]; staff[0]=new Employee("Tom",40000); staff[1]=new Employee("Dick",60000); s

vs2010 C# 如何将类做成DLL 再从另一个项目中使用这个类

vs2010 C# 如何将类做成DLL 再从另一个项目中使用这个类 2011-10-20 12:00 486人阅读 评论(0) 收藏 举报 一.将类做成DLL 方法一: 你可以通过在命令行下用命令将以 xxx.cs的文件直接生成为DLL文件 方法二:通过visual studio2010 新建立一个项目,选择为“类库”,然后在这里可以写用户自己的类. 二.引用DLL 在项目中,打开“解决方案资源管理器”,右键“引用”-->“添加引用”-->“浏览” 然后从主机的目录中找到DLL 之后在你的项目

【C++】通过基类的指针变量访问派生类中由基类继承来的隐藏对象

//<img src="http://img.blog.csdn.net/20150512213309005?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZG91ZG91d2ExMjM0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /> // 可以将一个派生类的对象的地址赋给其基类的指针变量,但

项目中连接数据库,类的封装;

一.首先创建一个类,封装数据库和个人信息: package com.yxq.dao; public class Constants { public static String url ="jdbc:mysql://127.0.0.1:3306/personblog"; public static String className="com.mysql.jdbc.Driver"; public static String userName ="root&q

在spring项目中,普通类注入获取Bean,实现ApplicationContextAware接口

在平时spring项目中,某个不能注入Bean的项目中要获取Bean. @Component public class SpringUtil implements ApplicationContextAware { private static ApplicationContext applicationContext = null; public SpringUtil() { } public void setApplicationContext(ApplicationContext arg0

DIDAO.Common --- 项目中的常用类及其中函数

常用函数: CommonHelper.cs using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; using System.Web; using RazorEngine; using RazorEngine.Text

SSH中的Dao类继承HibernateDaoSupport后出现异常

异常:'sessionFactory' or 'hibernateTemplate' is required 原因:未注入hibernateTemplate,需要在spring的配置文件中明确指定bean以byName的方式匹配 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmln

Microsoft .NET 中的基类继承

众所周知,数据科学是这几年才火起来的概念,而应运而生的数据科学家(data scientist)明显缺乏清晰的录取标准和工作内容.此次课程以<星际争霸II>回放文件分析为例,集中在IBM Cloud相关数据分析服务的应用.面对星际游戏爱好者希望提升技能的要求,我们使用IBM Data Science Experience中的jJupyter Notebooks来实现数据的可视化以及对数据进行深度分析,并最终存储到IBM Cloudant中.这是个介绍+动手实践的教程,参会者不仅将和讲师一起在线

Web项目中诡异的java.lang.ClassNotFoundException: ch.qos.lorgback.classic.PatternLayout问题解决

引言: 诡异而少见的java.lang.ClassNotFoundException: ch.qos.lorgback.classic.PatternLayout异常错误信息,在启动的时候,出现了异常,哪里出了问题呢? 1.  背景介绍 项目是Web项目,使用了slf4j-api, 使用logback做为默认的日志包:之前一直工作正常,在将日志路径调整到了pom.xml之后,忽然就蹦出来一个异常错误信息. pom.xml中引用的maven片段: <dependency> <artifac