Android Fragment 替换覆盖生命周期方法详解
2016-03-14 21:26
239 查看
FragMent add 与 replace 方法执行试图切换生命周期变化
Activity 生命周期中共有七个方法,Fragment 的生命周期方法 则有11个,一个Fragment 在Activity中生命周期对比 ,网上很多文章都是,在这就不说了当两个fragment 之间切换时,生命周期方法又是如何调用的呢
在此做个实验,分别创建两个碎片,内涵11个生命周期方法,syso打印(本人比较喜欢syso)
`package com.example.fragmentlife;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import frag1.Frag1;
import frag1.Frag2;
public class MainActivity extends Activity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化布局 加载 ListFragment 使用replace 方法替换布局 try { initView(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * @Title: initView * @Description: TODO(这里用一句话描述这个方法的作用) * @param: * @return: void * @throws InterruptedException * @throws * @author Designed By Ly * @Date 2016年3月14日 下午8:58:43 */ private void initView() throws InterruptedException { getFragmentManager().beginTransaction() .add(R.id.frame, new Frag1()).commit();
// getFragmentManager().beginTransaction()
// .replace(R.id.frame, new Frag2()).commit();
Thread.sleep(300); getFragmentManager().beginTransaction() .add(R.id.frame, new Frag2()).commit(); }
}
`
- 先将 fg1 添加入 activity 布局中 再使用add 方法 将 fg2 加入布局,观察程序运行结果如下:
-
![](http://i.imgur.com/s7kiHoR.png)
使用replace 结果如下
![](http://i.imgur.com/ttlgMZi.png)
相关文章推荐
- Volley的缓存策略
- ListView中使用自定义列表项数据模型
- Android多媒体播放器 MediaPlayer使用
- Android Studio使用Git过程遇到的那些“坑”
- android异步加载遇到的问题
- 在Android中查看和管理sqlite数据库
- android之存储篇_SQLite存储方式 - 一个本科小生的奋斗史 - 博客频道 - CSDN.NET
- Android的四个动画特效
- Android开辟进修之SQLite数据存取浅析
- Android的消息机制——Handler的工作过程
- android SQLiteDatabase
- Android SQLiteDatabase的使用
- FlabbyListView——显示ListView的Android类库
- Umeng_Social_Android_SDK_Doc
- Android应用如何开机自启动、自启动失败原因
- Android-Universal-Image-Loader 图片异步加载类库的使用
- Fragment——向Activity中动态加载Fragment
- Android笔记--使用Android自带的XML解析器PULL解析器简单的解析xml
- android 学习之ExpandableListView
- Android 图标上面添加提醒(一)使用Canvas绘制