Android06-Fragment碎片
可以将Fragment看做Activity中的一个模块单元,可以在不同的Activity中重用
public class RightFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.right_fragment, container, false);
return view;
} }
inflate方法的三个参数:
动态添加碎片主要分为 5 步。
创建待添加的碎片实例。
获取到 FragmentManager,在活动中可以直接调用 getFragmentManager()方法得到。
开启一个事务,通过调用beginTransaction()方法开启。
向容器内加入碎片,一般使用 replace()方法实现,需要传入容器的 id 和待添加的碎片实例。
交事务,调用 commit()方法来完成。
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
AnotherRightFragment fragment = new AnotherRightFragment();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction transaction = fragmentManager.
beginTransaction();
transaction.replace(R.id.right_layout, fragment);
transaction.commit();
break;
default:
break;
} }管理Fragment
使用FragmentManager类来管理Fragment,使用Activity的getFragmentManager方法来获取FragmentManager对象碎片的生命周期
1. 运行状态 当一个碎片是可见的,并且它所关联的活动正处于运行状态时,该碎片也处于运行状态。
2. 暂停状态 当一个活动进入暂停状态时(由于另一个未占满屏幕的活动被添加到了栈顶),与它相关联的可见碎片就会进入到暂停状态。
3. 停止状态
当一个活动进入停止状态时,与它相关联的碎片就会进入到停止状态。或者通过调 用 FragmentTransaction 的 remove()、replace()方法将碎片从活动中移除,但有在事务 交之前调用 addToBackStack()方法,这时的碎片也会进入到停止状态。总的来说,进入 停止状态的碎片对用户来说是完全不可见的,有可能会被系统回收。
4. 销毁状态碎片总是依附于活动而存在的,因此当活动被销毁时,与它相关联的碎片就会进入
到销毁状态。或者通过调用 FragmentTransaction 的 remove()、replace()方法将碎片从活
动中移除,但在事务 交之前并没有调用 addToBackStack()方法,这时的碎片也会进入
到销毁状态。onAttach()
当碎片和活动建立关联的时候调用。
onCreateView()
为碎片创建视图(加载布局)时调用。
onActivityCreated()
确保与碎片相关联的活动一定已经创建完毕的时候调用。
onDestroyView()
当与碎片关联的视图被移除的时候调用。
onDetach()
当碎片和活动解除关联的时候调用。

Android06-Fragment碎片的更多相关文章
- 14 Fragment 碎片总结
Fragment 碎片 一, Fragment是什么? Android 3.0以后出现的 Api11 以上 Activity的组成部分 Fragment(小的Activity) Fragment可以显 ...
- Fragment碎片
布局文件中添加碎片 1.在onCteate()方法中调用inflater.inflate()加载Fragment布局 2.在xml的<fragment>中需要显示指明碎片名称(androi ...
- Fragment碎片的创建和动态更新
Fragment,在平板应用中较为参见,把视图分为两个甚至多个模块. 一,一个简单的fragment 1.创建两个局部文件,用于等待被调用 (1)left_fragment (2)right_frag ...
- fragment 碎片整理
activity_m1.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xm ...
- Android Fragment(碎片)的使用
简介 在Android中Fragment为一种可以嵌入活动中的UI片段.能让程序更加合理地利用大屏幕的空间. 使用方法 1.我们首先新建的一个onefragment.xml文件. <?xml v ...
- Android Fragment碎片
什么是碎片? 碎片(Fragment)是一种可以嵌入在活动当中的UI片段,它能让程序更加合理和充分地利用大屏幕的空间,因而在平板上应用的非常广泛.可以把Fragment当成Activity一个界面的一 ...
- Android之Fragment(碎片)方方面面
Fragment简介碎片(Fragment)是一种可以嵌入到活动当中的UI片段,它能让程序更加合理和充分的利用大屏幕的空间. Fragment的生命周期 它与Activity生命周期的关系: 可以看到 ...
- android UI:Fragment碎片
碎片(Fragment) 嵌入与活动中的UI片段,为了合理的分配布局而存在,这是我的简单理解.多用于兼顾手机与平板的UI,也适用于灵活高级的UI制作. Demo 简单的按键切换两片不同的Demo 新建 ...
- Fragment碎片频繁来回切换的时候报java.lang.IllegalStateException: No activity
出现这个问题的原因是因为使用的transcation.replace(fragmentTwo);的方式进行碎片切换的. 解决方案是使用add和show.hide方法组合实现碎片的切换(应该是显示.隐藏 ...
随机推荐
- windows 数据类型转换为 dotnet 数据类型
Windows Data Type .NET Data Type BOOL, BOOLEAN Boolean or Int32 BSTR String BYTE Byte CHAR Char DOUB ...
- inline-block布局方式
刚研究了一下inline-block布局方式 inline-block布局方式是一种比float浮动更优的一种布局方式. 一个超简单的demo html: <!doctype html> ...
- SQL Server 中索引的禁用与删除
主题 1. 禁用索引 alter index index_name on table_name disable; 主题 2. 删除索引 drop index table_name.index_name ...
- MYSQL 查看可用的字符集的 2 方法
方法 1. show character set; 方法 2. show collation;
- Inno Setup 精灵显示插件 InnoFairy (V2.0 版本)
原文 http://restools.hanzify.org/article.asp?id=111 一个如影随形的小精灵会令到你的安装程序更加人性化. 就是这样一个功能的Inno Setup插件, 希 ...
- javac: cannot execute binary file
# java/jdk1.6.0_12/bin/javac-bash: java/jdk1.6.0_12/bin/javac: cannot execute binary file 后来检验,检查了 ...
- Linux下安装nfs服务器
1. 安装nfs服务 $sudo apt-get install nfs-kernel-server portmap 2. 在配置文件/etc/exports中添加以下内容/home/jxhui/nf ...
- sql 2000 "无法执行查询,因为一些文件缺少或未注册"的
sql 2000 "无法执行查询,因为一些文件缺少或未注册"的解决办法 在SQL server 2000中打开表查看数据的时候,提示说“无法执行查询,因为一些文件缺少或未注册” 用 ...
- Introduction to Big Data with Apache Spark 课程总结
课程主要实用内容: 1.spark实验环境的搭建 2.4个lab的内容 3.常用函数 4.变量共享 1.spark实验环境的搭建(windows) a. 下载,安装visualbox 管理员身 ...
- poj 3233 Matrix Power Series
A为一个n*n的矩阵,求A+A^2+A^3+...+A^n Sk = A + A2 + A3 + - + Ak =(1+Ak/2)*(A + A2 + A3 + - + Ak/2 )+{ ...