Android Fragment + ViewPager +LazyLoad的应用
来源:互联网 发布:手机视频快进软件 编辑:程序博客网 时间:2024/06/12 20:25
最近看到一篇微信文章,讲的是ViewPager + Fragment的懒加载。博主以前也遇到过这样的问题,要在APP启动的时候判断从网络获取的一个字段,来确定是否隐藏一个列表的item,当时直接在主Activity里获取字段,然后设置item显示状态,结果发现每次服务器动态改变字段后,APP根本不按照字段来显示/隐藏item,打log后发现在进入APP的时候,ViewPager的预加载属性在捣鬼,主Activity里字段还没获取,结果ViewPager第三个页面就已经加载出来了。后来开线程解决了问题。由于深有体会,所以今天就写写ViewPager+Fragment,顺便应用LazyLoad,在此感谢原博主尹star。
先晒图:
免积分下载链接:
http://download.csdn.net/detail/black_dreamer/9579555
ViewPager + Fragment做可点击、滑动翻页的介绍资料,在网络上已经有一大堆了,我就不细说啦,简单总结下有以下几点:
布局上分为Activity布局(ViewPager+底部菜单一堆),Fragment布局(每一个Fragment对应相应的布局)
创建自定义Fragment类,页面有几个就创建几个,在
onCreateView
方法里从布局中获得view并返回
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment_home,container,false) ; return v ; }
- 创建自定义的Adapter,继承自
FragmentStatePagerAdapter
或者FragmentPagerAdapter
public class FragmentAdapter extends FragmentStatePagerAdapter { public List<Fragment> mFragments ; public FragmentAdapter(FragmentManager fm) { super(fm); } public FragmentAdapter(FragmentManager fm, List<Fragment> fragments) { super(fm); this.mFragments = fragments; } @Override public Fragment getItem(int position) { return mFragments.get(position); } @Override public int getCount() { return mFragments.size(); }}
- 在Activity中实例化自定义的几个Fragment类,并添加到List中,用List创建并初始化自定义的Adapter,然后用ViewPager的setAdapter方法去设置就可以了。
- 底部菜单的点击选中,可以通过
ViewPager.setCurrentItem
方法去设置ViewPager当前选中的页面,按钮显示效果嘛,就用selector+动态设置背景图片就可以了。
下载链接:http://download.csdn.net/detail/black_dreamer/9579555
0 0
- Android Fragment + ViewPager +LazyLoad的应用
- ViewPager+Fragment LazyLoad最优解
- ViewPager+Fragment LazyLoad 最优解
- ViewPager+Fragment LazyLoad 最优解决方案
- Android ViewPager Fragment 简单应用
- ViewPager+Fragment LazyLoad懒加载最优解
- android Fragment与ViewPager,自画指示器的一个应用
- Android-Viewpager+fragment的实现
- Android ViewPager + Fragment的使用
- Android ViewPager+Fragment的使用
- Android Fragment+ViewPager的用法
- baseadapter getview 重复刷新 ViewPager -- Fragment 切换卡顿 LazyLoad
- Fragment与ViewPager嵌套的简单应用
- viewpager+fragment+tablayout适配器和fragment的一些应用
- Android应用开发—ViewPager FragmentPagerAdapter和FragmentStatePagerAdapter下Fragment的生命周期
- Android的ViewPager,ViewPager配合Fragment的用法
- android 中常用到的 table + viewPager + fragment
- Android中ViewPager+Fragment的基本使用
- 对NetworkComms的认识
- Trie树专题 [转]
- java高级特性之多线程 线程池
- 顺序表
- iOS Crash之NSGenericException
- Android Fragment + ViewPager +LazyLoad的应用
- BZOJ 1036 [ZJOI2008] 数的统计 树链剖分
- storm 1.0新功能-Tuple Sampling and Debugging 数据采集
- 面向对象
- dp 最佳加法表达式
- 2016.07.18【初中部 NOIP普及组 】模拟赛题解
- 基本opencv2处理方法
- IOS-内存管理
- UVA - 11044 Searching for Nessy