Fragment基本介绍
1.生命周期

onCreateView() :创建视图
onActivityCreate():activity创建完成的时候调用
onDestoryView():销毁视图
onDetach():与activity解除绑定
2.静态使用
2.1 继承fragment(android.app.Fragment)
2.2 直接在布局文件中使用
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"> <fragment
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/fragment1"
android:name="example.com.fragmentdemo.OneFragment"
/> </RelativeLayout>
3.动态使用
步骤:
1.创建fragment
2.通过getFragmentManager()方法得到FragmentManager
3.开启一个事务,beginTransaction()
4.添加、移除、替换、隐藏、显示fragment,add/remove/replace/hide/show
5.提交事务,commit();
manager.beginTransaction().add(R.id.fl,twoFragment).commit();
如果要实现类似于返回栈的效果,在commit()前 调用addToBackStack()方法
manager=getFragmentManager();
manager.beginTransaction().add(R.id.fl,twoFragment).addToBackStack(null).commit();
replace()方法会使fragment视图销毁 执行onpause()/onStop()/onDestoryView()
remove()方法会使fragment销毁 执行onpause()/onStop()/onDestoryView()/onDesdory()/onDecath()
hide()/show()不会执行其他的生命周期
锁屏 onPause()/onStop() 锁屏恢复:onStart()/onResume()
4.携带数据
1.在Fragment中创建newInstance方法,使Fragment携带参数
public static OneFragment newInstance(String txt){
OneFragment oneFragment=new OneFragment();
Bundle bundle=new Bundle();
bundle.putString("param",txt);
oneFragment.setArguments(bundle);
return oneFragment;
}
2.声明Fragment
oneFragment=OneFragment.newInstance("oneFragment");
3.在Fragment的onCreateView()中获取参数
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
Log.d(TAG, "onCreateView: ");
View view=inflater.inflate(R.layout.fragment_one,container,false);
if(getArguments()!=null){
Bundle bundle=getArguments();
String str= bundle.getString("param");
Log.e("OneFragment","onCreateView(OneFragment.java:48):"+str);
}
return view;
}
Fragment基本介绍的更多相关文章
- Android开发之Fragment的介绍、使用及生命周期
Fragment官网介绍-http://developer.android.com/guide/components/fragments.html 郭大神的使用实例文章:http://blog.csd ...
- Android Fragment的介绍与使用(案例Demo)
应用场景: 众所了解Android上的界面展示都是通过Activity实现的,可是Activity也有它的局限性,相同的界面在手机上显示可能非常好看,在平板上就未必了.为了让界面能够在平板上更好地展示 ...
- Fragment之介绍(转)
http://www.cnblogs.com/plokmju/p/3239265.html 前言 开门见山开篇名义,本篇博客将讲解一下Android中Fragment的内容,必要的地方会提供相应的演示 ...
- Android Fragment 基本介绍
Fragment 源码:http://www.jinhusns.com/Products/Download/?type=xcj Android是在Android 3.0 (API level 11)开 ...
- Android Fragment 基本介绍[转]
Fragment Android是在Android 3.0 (API level 11)开始引入Fragment的. 可以把Fragment想成Activity中的模块,这个模块有自己的布局,有自己的 ...
- 【转】Android Fragment 基本介绍--不错
原文网址:http://www.cnblogs.com/mengdd/archive/2013/01/08/2851368.html Fragment Android是在Android 3.0 (AP ...
- android的fragment基本介绍
可以分为下面的几部分: 使用支持库 创建一个Fragment 创建一个动态UI 多个Fragment之间的通信 1.使用支持库 如果您的应用需要运行在3.0及以上的版本,可以忽略这部分内容. 如果您的 ...
- [原]Android Fragment 入门介绍
Fragment Fragment 产生,优点,用途,使用方法简介 1 Fragmeng简介 自从Android 3.0中引入fragments 的概念,根据词海的翻译可以译为:碎片.片段.其上的是为 ...
- fragment的介绍与使用
稍稍摘录一段Fragment.java中的说明文档. /** * A Fragment is a piece of an application's user interface or behavio ...
随机推荐
- Verilog-2001新增特性
l generate语句 Verilog-2001添加了generate循环,允许产生 module和primitive的多个实例化,同时也可以产生多个variable,net,task,functi ...
- 浅谈FPGA的选型
工欲善其事必先利其器,开发FPGA的第一步,当然是选择一片符合设计需求的芯片. 器件特色 选片第一个关注的应该是FPGA器件的专用资源. 例如是否需要高速接口,如果需要的话,需要多少个通道,各个通道需 ...
- mysql复制原理与机制一
复制原理:复制需要二进制日志记录数据库上的改变 slave的IO线程复制把master上的Binary log读取到本地的relay log里SQL线程负责把relay log恢复到数据库数据里 sh ...
- Navicat设定mysql定时任务步骤示例
怎样在Navicat中设置,是数据库按照记录中的日期更新状态字段 其实这个很常用,比如你网站里的某条记录的日期——比如说数据库中某条活动记录的审核日期字段已经过期,亦即当前时间已经超过审核日期,那么定 ...
- 在mac上 使用jenkins 执行python文件
1.要选择 [执行 shell]构建
- java数字游戏基础篇
题目: 1.100以内,程序先产生一个随机数,然后用户从控制台输入数字,猜是大了还是小了,第7次时 输出 “您太笨了,答案是”+x 思路:1.随机数,所以用到random 2.用户从键盘输入 ,则用到 ...
- ES之四、Elasticsearch集群和索引常用命令
REST API用途 elasticsearch支持多种通讯,其中包括http请求响应服务,因此通过curl命令,可以发送http请求,并得到json返回内容. ES提供了很多全面的API,常用的RE ...
- 在richtextbox中获取最真实的字符串像素大小
设计器: partial class Form1 { /// <summary> /// 必需的设计器变量. /// </summary> private System.Com ...
- Bash脚本编程总结
bash脚本编程之用户交互: read [option]… [name …] -p ‘PROMPT’ -t TIMEOUT bash -n /path/to/some_script 检测脚本中的 ...
- mysql流程控制
一 流程控制 delimiter // CREATE PROCEDURE proc_if () BEGIN declare i int default 0; if i = 1 THEN SELECT ...