viewPager + fragment
有两种实现方式,一种是 fragmentActivity + FragmentPagerAdapter (Fragment,FragmentManager需要导包:android.support.v4.app.)
另一种是 Activity + PagerAdapter(Fragment,FragmentManager需要导包:android.app.)
1. fragmentActivity + FragmentPagerAdapter
自定义FragmentPagerAdapter只需要重写: getItem(),getCount() 方法
2. Activity + PagerAdapter
自定义的 PagerAdapter 需要重写以下方法:
instantiateItem(ViewGroup, int)
destroyItem(ViewGroup, int, Object) //记得删除 super.destroyItem(container, position, object);否则报异常:UnsupportedOperationException,原因查看源码
getCount()
isViewFromObject(View, Object)
需要添加 Title 时还需要重写 getPageTitle() 方法
重写 :instantiateItem(ViewGroup, int)
@Override
public Object instantiateItem(ViewGroup container, int position) {
Fragment fragment = mList.get(position);
if (!fragment.isAdded()) {
FragmentTransaction saction = mFragManager.beginTransaction();
saction.add(fragment, fragment.getClass().getSimpleName());
//只有commit才会执行
saction.commit();
//executePendingTransactions--立即执行
mFragManager.executePendingTransactions();
}
View view = fragment.getView();
container.addView(view);
return view;
}
重写 :isViewFromObject(View, Object)
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
注意:自定义Fragemt 时,必须重写 onCreateView() 方法
使用FragmentTransaction,移除fragment时需要addtobackstack()否则无法回退(fragement 在移除时被销毁)
viewPager + fragment的更多相关文章
- ViewPager+Fragment取消预加载(延迟加载)(转)
原文:http://www.2cto.com/kf/201501/368954.html 在项目中,都或多或少地使用的Tab布局,所以大都会用到ViewPager+Fragment,但是Fragmen ...
- Android中ViewPager+Fragment取消(禁止)预加载延迟加载(懒加载)问题解决方案
转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53205878本文出自[DylanAndroid的博客] Android中Vie ...
- Android - ViewPager+Fragment初始化问题
Android应用开发中,经常会用到ViewPager + Fragment,虽然效果不错,但随之而来的还有一些问题,下面就说说其中的初始化问题. ViewPager初始化时会预加载前后的2个页面,即 ...
- Android ViewPager Fragment使用懒加载提升性能
Android ViewPager Fragment使用懒加载提升性能 Fragment在如今的Android开发中越来越普遍,但是当ViewPager结合Fragment时候,由于Androi ...
- ViewPager -- Fragment 切换卡顿 性能优化
当ViewPager切换到当前的Fragment时,Fragment会加载布局并显示内容,如果用户这时快速切换ViewPager,即 Fragment需要加载UI内容,而又频繁地切换Fragment, ...
- viewpager viewpager+fragment
内页面 不单写页面 viewpager+布局 import java.util.ArrayList; import java.util.List; import android.os.Bundl ...
- 【原创】【ViewPager+Fragment】ViewPager中切换界面Fragment被销毁的问题分析
ViewPager中切换界面Fragment被销毁的问题分析 1.使用场景 ViewPager+Fragment实现界面切换,界面数量>=3 2.Fragment生命周期以及与Activ ...
- 转:ViewPager+Fragment基本使用方法(附源码)
ViewPager+Fragment可以做出多页面滑动效果,让我们的应用程序界面操作起来更加灵活 对于ViewPager和Fragment组件还不熟悉的朋友,可以先看看相关的资料 首先在activit ...
- 安卓开发之使用viewpager+fragment实现滚动tab页
闲着.用viewpager+fragment实现了个滚动tab..轻拍,以后会陆续发先小东西出来..爱分享,才快乐.demo见附件.. package com.example.demo; import ...
- viewpager+fragment学习笔记
有暇,总结一下viewpager+fragment的使用. 先来看看效果图: 有三个标题,三个fragment,滑动时标题的颜色会随着变化. MainActivity.java public clas ...
随机推荐
- HashSet的故事----Jdk源码解读
Hash,我们在说HashMap的时候,已经知道Hash是散列,Map是映射了. 那么Set又是什么呢 ? 先来看看Set的翻译是什么 n. [数] 集合:一套:布景:[机] 装置 这里Set所取的含 ...
- 对jquery分页的升级
以前写的分页用了好久了,但是分页时除了传页面外有时还要传一些其它参数,以前操作时要把传的参数放到隐藏hidden中,分页时在取出来,这样比较麻烦,今天无事,重新包装了一下 直接上代码吧 css用了bo ...
- 夺命雷公狗----Git---3---vi编辑器
如果直接使用了 git commit 即进入vi编辑器,所以强烈推荐使用 git commit -m 中文注释 但是如果进入vi编辑器其实也没什么好怕的,如果动linux 的朋友应该都会使用 进入v ...
- 【转】centos关机与重启命令详解
连接:http://blog.csdn.net/jiangzhengdong/article/details/8036594 Linux centos关机与重启命令详解与实战 Linux centos ...
- 简单封装数据请求(iOS)
#import <Foundation/Foundation.h> //给block起 别名 //类型 void(^)(BOOL success , id data) //别名是 Comp ...
- T-SQL存储过程、游标
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...
- [转]struct.pack 用法手记
原文:http://hi.baidu.com/tibelf/item/8b463d15edfdf10bd1d66d83 看到在进行c格式的二进制文件读取的过程中,用到了struct.unpack方法, ...
- [Linux系统]查看内存的几种方式
1. cat /proc/meminfo 2.free -m3.vmstat -s4.ps命令可以实时的显示各个进程的内存使用情况.Reported memory usage information ...
- c++课程设计的收获。
1.cin.clear() 如果输入错误,出现不匹配,要用clear清楚错误状态. (也就是把failbit设置为0) while(cin.get()!='\n') continue;吸收缓冲区也就是 ...
- Boostrap
基本认知: Boostrap绝对是目前最流行用得最广泛的一款框架.它是一套优美,直观并且给力的web设计工具包,可以用来开发跨浏览器兼容并且美观大气的页面. Bootstrap的优缺点: 缺点: 1. ...