ViewPager使用中的一些小问题

禁止预加载的ViewPager 禁止预加载的ViewPager类,出自android4.0版本 V4包中,只需要更改“DEFAULT_OFFSCREEN_PAGES”参数,模式是1,更改为0之后可以保证不预加载。 立即下载

http://phenom.iteye.com/blog/1337002

ViewPager是在引入Fragment中一起加入的,它的主要作用就是可以配合ActionBar与Fragment一起,容易的编写一些tab界面. 


从Demos里可以看到一些例子,对于如何使用它与Fragment.使用supportv4的包可以将Fragment运用在api level 10以下的系统,但是没有ActionBar,如果想要,需要自己实现.至于如何实现ActionBar再说了. 

主要谈谈ViewPager与Fragment一起使用. 

代码主要参考Support4Demos中的,可以下载来看下. 
ViewPager的初始化: 
mPager = (ViewPager)findViewById(R.id.pager); 
mPager.setAdapter(mAdapter); 

一个适配器是必须的,因为在页面切换时需要一个切换内容的数据列表,就像自己实现ViewFlipper或是使用手势操作一样,但它有一个优点,就是当你移动时,可以先看到下一个界面的内容,而自己实现手势操作,是先看到一片黑色背景,移动成功后才加载新的界面xml与数据. 

ViewPager里面还定义了一个 
    private int mOffscreenPageLimit = DEFAULT_OFFSCREEN_PAGES;默认值 是1,这表示你的预告加载的页面数量是1,假设当前有四个Fragment的tab,显示一个,预先加载下一个.这样你在移动前就已经加载了下一个界面,移动时就可以看到已经加载的界面了. 

从日志里面可以看到onActivityCreated等方法在初始化第一个Fragment完成后就会初始化下一个Fragment. 

假设你想预先加载多个Fragment可以使用它提供的公共方法: 

Java代码   收藏代码
  1. public void setOffscreenPageLimit(int limit) {  
  2.         if (limit < DEFAULT_OFFSCREEN_PAGES) {  
  3.             Log.w(TAG, "Requested offscreen page limit " + limit + " too small; defaulting to " +  
  4.                     DEFAULT_OFFSCREEN_PAGES);  
  5.             limit = DEFAULT_OFFSCREEN_PAGES;  
  6.         }  
  7.         if (limit != mOffscreenPageLimit) {  
  8.             mOffscreenPageLimit = limit;  
  9.             populate();  
  10.         }  
  11.     }  
  12.   
  13. 从这个方法来看,不管你设置什么值,至少会预先加载下一个Fragment,你想预先加载几个就可以传入相应的参数.  
  14. 这种情况如音乐播放时,如果有自动加载歌词就可以使用了.  
  15.   
  16. 如果你的界面需要加载一些大量的数据,但你不想预先加载下一个界面(需要网络或耗时的操作),使用ViewPager却很无耐.特别是下一个界面有可能你一段很长时间不会使用到,如我开发的微博,在显示主页后我不想立即加载下一个界面,因为都有ListView,如果我不访问它,就不必加载无用的资源.  
  17.   
  18. 可以通过修改这个值,但有,修改后就会有一个麻烦的地方,因为移动时不会预先加载下一个界面的关系,所以会看到一片黑色的背景.  
  19.   
  20. 如果不介意黑色背景,可以覆盖这个类,然后定义默认的加载数量为0  
  21. private int mOffscreenPageLimit = DEFAULT_OFFSCREEN_PAGES=0;就是不预先加载下一个界面.  
  22.   
  23. 如果想预加载,可以使用原来的ViewPager,或这里直接改为mOffscreenPageLimit=你要加载的数量。  
  24.   
  25. 由于sdk的更新问题,不是所有v4 support都适合的,v17时就换了  
  26.   
  27. 先到这吧.  


附件是修改的,包自己建了。v4包是最新版,rev10


所以最好看下support系统源代码下来研究

【经验分享】使用Keil5烧录代码遇到的问题及解决方法 本文介绍了在使用Keil5烧录代码过程中可能遇到的常见问题,主要为编译错误和下载失败,并提供了解决方案和注意事项。通过本文中提供的具体解决方案和注意事项,希望能够帮助读者更加顺利地进行Keil5烧录代码操作,提高开发效率和成果实现。 阅读详情

相关推荐

告别复杂配置:利用原生DDNS实现IPv6直连群晖的极简指南

本文详细介绍了如何利用原生DDNS实现IPv6直连群晖NAS的极简方法,告别复杂配置。从检查IPv6网络环境、路由器防火墙设置到群晖DDNS配置,一步步指导用户完成设置,并分享移动网络下的使用体验和安全防护建议,帮助用户轻松实现远程访问。

weixin_30918633的博客 414

android中通过添加view使用ViewPager出现的问题及解决方法

最近写了一个小程序,在android中通过添加ImageView使用ViewPager实现几个界面的切换,当滑动到最后一个页面时继续向后滑动的时候程序崩溃了,出现了一个异常,异常详细信息如下: 08-06 04:54:57.704: E/AndroidRuntime(2429): FATAL EXCEPTION: main 08-06 04:54:57.704: E/AndroidRuntim

you__are_my_sunshine的博客 2757

从零到一:移远EC200UCN_LA OpenCPU开发中的‘避坑’实战指南

本文详细介绍了移远EC200UCN_LA 4G通信模块的OpenCPU开发实战指南,涵盖开发环境搭建、项目构建、通信接口开发、调试技巧及固件升级等关键环节。通过避坑经验和实用技巧,帮助开发者高效完成二次开发,提升4G通信模块的应用开发效率。

weixin_29159711的博客 507

ViewPager使用中遇到的问题

最近在使用viewPager时遇到一些问题, 记录下来 1、 首先就是viewpager的滑动问题, 禁止滑动方法, 自定义一个viewpager类继承viewpager 重写方法 @Override public boolean onTouchEvent(MotionEvent ev) { return true;//事件拦截,这样就不可以滑动了

css 424

ICM42670-P嵌入式开发实战:从寄存器配置到姿态解算全解析

本文全面解析ICM42670-P高性能6轴MEMS运动传感器的嵌入式开发实战,涵盖寄存器配置、数据采集滤波、低功耗优化及姿态解算算法。通过详细代码示例和应用案例,帮助开发者快速掌握从硬件对接到姿态跟踪系统的完整开发流程,适用于可穿戴设备和智能家居等低功耗应用场景。

gold的博客 1070

用HFSS复现经典论文:从零搭建带孔缝屏蔽箱体模型(附完整建模步骤与避坑指南)

本文详细介绍了如何使用HFSS电磁仿真软件复现经典论文中的带孔缝屏蔽箱体模型,包括从零搭建模型、设置激励与边界条件、求解优化及结果验证的全过程。特别提供了建模中的布尔运算陷阱、激励设置技巧等实操难点的避坑指南,帮助工程师和学生深入理解电磁屏蔽效能研究。

weixin_30530339的博客 159

ViewPager限定预加载的页面个数setOffscreenPageLimit(int limit)

ViewPager里面还定义了一个      private int mOffscreenPageLimit = DEFAULT_OFFSCREEN_PAGES;默认值 是1,这表示你的预告加载的页面数量是1,假设当前有四个Fragment的tab,显示一个,预先加载下一个.这样你在移动前就已经加载了下一个界面,移动时就可以看到已经加载的界面了.  从日志里面可以看到onActivityC

liao277218962的专栏 3万+

matlab RANSAC拟合圆柱【2025最新版】

RANSAC拟合圆柱

点云侠的博客 3135

关于禁止ViewPager预加载问题,完美解决!

我最近上班又遇到一个小难题了,就是如题所述:ViewPager预加载的问题。相信用过ViewPager的人大抵都有遇到过这种情况,网上的解决办法也就那么几个,终于在我自己不断试验之下,完美解决了(禁止了)ViewPager的预加载。 好了,首先来说明一下,什么是ViewPager的预加载:ViewPager有一个 “预加载”的机制,默认会把ViewPager当前位置的左右相邻页面预先初始化(俗称

黄政的博客 6万+

模拟电路综合笔试题解析

本专栏预计更新60期,当前为第10期,文章约6000字,旨在帮助读者掌握模拟电路笔试的核心知识点与实战技巧。文章分为五个章节,涵盖基础理论、高频考点、大厂题目解析等内容。首先,文章详细解析了DC-DC与LDO的区别及选型依据,并通过真题分析帮助读者理解其应用场景。接着,文章深入探讨了运放电路设计、同步降压电路设计等高频考点,并结合实际案例提供解决方案。此外,文章还分享了特斯拉、华为、大疆等大厂的面试题及解析,帮助读者应对复杂电路设计挑战。最后,文章总结了模拟电路设计中的关键技巧与优化方法,为读者提供全面的笔

启芯硬件的博客 473

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

ViewPager嵌套ViewPager的问题

package com.example.view; import com.example.view.fragment.FirstFragment; import com.example.view.fragment.SecondFragment;import android.os.Bundle; import android.app.Activity; import android.suppo

qq_35384557的博客 304

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Android NestedScrollView嵌套ViewPager以及ViewPager内嵌套recyclerView的问题

这里写自定义目录标题NestedScrollView嵌套viewpager会出现两个问题 NestedScrollView嵌套viewpager会出现两个问题 1.viewpager无法显示,高度为0 2.嵌套后NestedScrollView无法滑动 先说第一个问题: viewpager无法正常显示,只需要在NestedScrollView内加入 android:fillViewport="true"就可以了 <android.support.v4.widget.NestedScrollVie

weixin_36357363的博客 4369

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

这个网址必须收藏,解决viewpager嵌套viewpager和其他view 冲突问题

真正的解决 viewpager嵌套viewpager滑动冲突问题

承諾、許卟哋 2644

使用ViewPager的遇到的问题

ViewPager中的fragment不能正常更新的问题

My Honor! My World! 551

ViewPager中GridView问题

GridView 嵌套在ViewPager中问题。 1. GridView属性设置无法显示。 正常显示方式 <GridView android:padding="8dip" android:id="@+id/homefrag_grid_content" android:layout_width="match_parent"...

acck42440的博客 145

解决NestedScrollView中嵌套ViewPager,ViewPager内容无法正常显示问题

由于公司项目要使用下图(向上滑动收缩顶部下拉继续展示)的效果。所以使用Android中自带控件CoordinatorLayout来实现,下面滑动布局内容使用NestedScrollView来实现,NestedScrollView中嵌套了ViewPager来展示不同的Tab滑动展示,然后运行后,手机里面ViewPager始终无法正常展示,&lt;android.support.v4.widget.N...

rocrocflying的专栏 1万+

RecyclerView嵌套ViewPager的那些问题

记录一下在开发过程中遇到的一些问题 在项目中,有一个功能有使用到了RecyclerView嵌套ViewPager实现的。在这个过程中遇到各种酸爽的问题,这里我记录下自己解决的思路。 1.ViewPager不显示 2.ViewPager只显示一个,后面的没有显示,但是占据了页面空间。 3.RecyclerView调用notifyDataChange或notifyItemChange方法时出现...

爱做梦的梦想家 1786

ScrollView中嵌入ViewPager,ViewPager的滑动出现问题

public class CustomScrollView extends ScrollView { private float xDistance, yDistance, xLast, yLast; public CustomScrollView(Context context) { super(context); } public CustomScrollView(Context con

Apathy_heng的专栏 599

解决ScrollView嵌套ViewPager,导致ViewPager不能滑动的问题

import java.lang.reflect.Field; import java.lang.reflect.Method; /**  * 解决ScrollView嵌套ViewPager,导致ViewPager不能滑动的问题  */ public class CustomScrollView extends ScrollView { private Ge

happy++, worry-- 1082

ViewPager嵌套ViewPager后子ViewPager滑动不正常问题

ViewPager嵌套ViewPager后,滑动事件没法在子ViewPager里面响应。 解决办法是自定义子ViewPager。 package com.lwj.app.customview; import android.content.Context; import android.graphics.PointF; import android.support.v4.view.ViewP

1万+

新旧版本的ViewPager问题

今天在做一个关于Banner横幅时遇到这么一个问题 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.wb.myshoppingmall, PID: 27854 android.view.InflateException: Binary XML file line #8 in com.example.wb.myshoppingmall:layout/banner_viewpager: Binary XML file li

weixin_43979805的博客 353

android viewPager + fragment中嵌套viewPager的问题

实际开发中,又这样一个场景:首页是一个viewPager + 3个fragment,然后第三个fragment中又嵌套了一个viewPager + 4个fragment。可能出现子viewPager中的4个fragment不显示的问题。 解决方案:此时要注意第一层viewPager关联的适配器FragmentStatePagerAdapter初始化时使用的FragmentManager参数使用getFragmentManager()获取,但是第二层viewPager关联的适配器FragmentStatePa

weixin_37902052的博客 726

Android ViewPager嵌套ViewPager+Fragment问题

最近在项目中又遇到了ViewPager互相嵌套的问题,代码实现很简单,主要可能出现的问题是子ViewPager的fragment滑动出现白屏,这个问题的出现是FragmentManager方法调用错误,android中涉及到FragmentManager的方法主要有:getChildFragmentManager()、getFragmentManager()和getSupportFragmentM...

仰望星空 6711

ViewPager的双层嵌套时影响内部ViewPager的触摸滑动问题

来自:http://bbs.9ria.com/thread-248286-1-1.html

#ifndefine maxwit #define maxwit...#endif 772
上一篇: 使用OnScrollListener回调处理自动加载更多
下一篇: Android使用java的Math.Random获取随机色值
fancylovejava
博客等级 码龄16年 1052粉丝 184原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值