Fragment总结(一)基本使用
来源:互联网 发布:ipad pro 记笔记 知乎 编辑:程序博客网 时间:2024/05/21 09:04
1。在Activity直接使用Fragment
在代码中使用
Test1Fragment fragment1=new Test1Fragment();
Test2Fragment fragment2=new Test2Fragment();
FragmentManager mgr=ge tFragmentManager();
FragmentTransaction ftTrans=mgr.beginTransaction();
ftTrans.add(R.id.content,fragment1);
ftTrans.add(R.id.content,fragment2);
ftTrans.show(fragment1);
ftTrans.commit();
也可在布局文件中使用占位view,使用replace(R.id.blank,fragment)
2.使用<fragment>标签
在XML中使用标签,通过class属性指明使用的Fragment子类型,getFragmentManager().findFragmentById()获取实例对象
3.结合ViewPager使用
使用FragmentActivity 对应Fragment使用v4包里的类
List<Fragment> lists=initFragments();
MyFragmentPagerAdapter mAdapter=new MyFragmentPagerAdapter(getSupportFragmentManager(),lists);
mViewPager.setAdapter(mAdapter);
mViewPager.setCurrentItem(0);
mViewPager.addOnPageChangeListener(XX);
MyFragmentPagerAdapter
private List<Fragment> lists;
...Constructor...
public int getCount(){
return lists.size();
}
public Fragment getItem(int position){
return lists.get(position);
}
注意点:
1/FragmentTransaction的hide,show方法不会触发Fragment的生命周期回调(面试问到过)
2.Fragment回收系统再次创建时只会调用默认无参的构造
3.FragmentPagerAdapter还有一个类似的类FragmentStatePagerAdapter,区别在于前者管理的Fragment对象会在当前页面一直存在(正常情况),FragmentStatePagerAdapter管理的Fragment在不可见的情况下可能会被销毁,只保留有限的(2个?)Fragment;前者的Fragment在切换Fragment时生命周期不会回调到OnDestroy()/OnDetach()
4.Frgment的重叠问题,Activity异常回收,系统重新启动Activity时会根据保存的信息回复Fragment
5.Frgment 生命周期回调是在Activity生命周期回调中触发的
- Fragment总结(一)基本使用
- Fragment使用学习(一)——基本使用信息
- Fragment基本使用(一)——静态加载布局
- Fragment基本应用(一)
- Fragment使用(一)
- Android编程心得---Fragment使用总结(一)
- Android编程心得---Fragment使用总结(一)
- UserInterface基本使用总结篇(一)
- coredata的基本使用总结(一)
- Fragment基本使用(二)
- Fragment 用法总结(一)
- Android开发ViewPager和Fragment结合使用实现新闻类app基本框架(一)
- 探索Fragment(1)----基本使用
- Fragment的基本使用
- fragment之基本使用
- Fragment基本使用
- Android Fragment基本使用
- Android Fragment基本使用
- 项目-OOP版电子词典
- NegNews测试类
- 接口添加默认方法以及静态方法
- HDU2033 人见人爱A+B
- 最大堆、最小堆C++实现
- Fragment总结(一)基本使用
- [Leetcode]1. Two Sum
- C语言基础 printf括号内的内容太多了电脑屏幕装不下
- C#窗体截图保存的实现
- java 基础二
- android 线程池两篇文章 。后期添加自己见解
- java.io.FileNotFoundException: F:\jstorm (拒绝访问.)
- PLCameraStreamingKit
- html5+canvas实现图片的压缩上传