PagerAdapter instantiateItem()方法position错误解决方案

异常信息:java.lang.IndexOutOfBoundsException: index=3 count=2

 

在instantiateItem各个条目View的时候。会有

container.addView(view, 0);

这样一行代码。如果写成

container.addView(view, position);

那么就会报错, java.lang.IndexOutOfBoundsException: index=3 count=2,打印Log,会发现position地 值从0,1, size()-1,只有3个position值,很显然是不对的。

 

查看源码:

 * @param index the position at which to add the child

  

应该是添加子view的时候,默认添加0位置,类似于堆栈的效果,而不是按着position动态添加位置》。。。。

时间: 2024-10-12 14:39:06

PagerAdapter instantiateItem()方法position错误解决方案的相关文章

使用AndroidStudio编译NDK的方法及错误解决方案

参考资料: [android ndk]macos环境下Android Studio中利用gradle编译jni模块及配置:http://demo.netfoucs.com/ashqal/article/details/21869151 ANDROID STUDIO, GRADLE AND NDK INTEGRATION:http://ph0b.com/android-studio-gradle-and-ndk-integration/ Gradle Plugin User Guide:http:

详解Android App中ViewPager使用PagerAdapter的方法_Android

PageAdapter是一个抽象类,直接继承于Object,导入包android.support.v4.view.PagerAdapter即可使用. 要使用PagerAdapter, 首先要继承PagerAdapter类,至少覆盖以下方法: 在每次创建ViewPager或滑动过程中,以下四个方法都会被调用,而instantiateItem和destroyItem中的方法要自己去实现. public abstract int getCount(); 这个方法,是获取当前窗体界面数 public a

详解Android App中ViewPager使用PagerAdapter的方法

PageAdapter是一个抽象类,直接继承于Object,导入包android.support.v4.view.PagerAdapter即可使用. 要使用PagerAdapter, 首先要继承PagerAdapter类,至少覆盖以下方法: 在每次创建ViewPager或滑动过程中,以下四个方法都会被调用,而instantiateItem和destroyItem中的方法要自己去实现. public abstract int getCount(); 这个方法,是获取当前窗体界面数 public a

Hadoop/HIVE错误解决方案大全

1.Retrying connect to server: localhost/127.0.0.1:9000. Call to localhost/127.0.0.1:9000 failed on connection exception: java.net.ConnectException: Connection refused 原因:hadoop未启动或core-site.xml中配置错误 解决方案:启动hadoop或修改配置. 2.Exception in thread "main&quo

SQL Server 2005 DTS导入平面数据出现错误解决方案_mssql2005

SQL Server 2005 DTS导入平面数据源时,总是被截断,无法执行的错误解决方案 1 典型的错误信息如下: 消息 * 错误 0xc02020a1: 数据流任务: 数据转换失败.列"列 2"的数据转换返回状态值 4 和状态文本"文本被截断,或者一个或多个字符在目标代码页中没有匹配项.". (SQL Server 导入和导出向导) * 错误 0xc020902a: 数据流任务: "输出列"列 2"(18)"由于发生截断而

Oracle变异表解决方法--ORA-04091错误

Oracle变异表解决方法--ORA-04091错误 原因:触发器(或者被语句中引用的用户自定义PL/SQL函数)视图去查询(或修改)一个被另一语句修改而触发的表. 解决方法:重写触发器(或函数)避免读该表. 对表进行DELETE,UPDATE,INSERT操作时,所操作的表就变成了变异表,对表的行级(FOR EACH ROW)触发器中不能对该表进行DML操作.这时可以使用两个方法解决. [@more@] 1.采用自治事务pragma autonomous_transaction解决. 下面给出

libudev-dev : Depends: libudev0 (= 175-0ubuntu9) but 175-0ubuntu9.3 is to be installed 错误解决方案

libudev-dev : Depends: libudev0 (= 175-0ubuntu9) but 175-0ubuntu9.3 is to be installed 错误解决方案 参考文章: 1. ubuntu 12.04 libudev-dev won't install because of dependencies http://stackoverflow.com/questions/17181073/ubuntu-12-04-libudev-dev-wont-install-be

2016最新CocoaPods安装和错误解决方案_IOS

CocoaPods是什么? CocoaPods是一个负责管理iOS项目中第三方开源库的工具.CocoaPods的项目源码在Github上管理.该项目开始于2011年8月12日,在这两年多的时间里,它持续保持活跃更新.开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间,在iOS开发中经常会用到第三方库如AFNetworking,ASIHttpRequest等,在使用第三方库时,你除了要导数源码外,但是,集成这些依赖库需要我们手动去配置,

【编译错误解决方案】提示:“make mrproper”

[编译错误提示] 当你不小心在kernel目录运行make编译命令,会出现一个棘手的问题: [解决思路过程] 按提示先运行命令"make mrproper",或者删除out目录,再编译,这也是无济于事的. 我们可以根据错误的输出在当前目录(.)递归(-r)搜索文本"make mrproper",并显示行号(-n).在./Makefile文件有一句和错误输出信息一致. 命令:grep –rn "make mrproper" . 用文本编辑器打开Ma