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方法组合实现碎片的切换(应该是显示.隐藏 ...
随机推荐
- Thinkphp excel导入导出
挺有用处的存一下 1.去PHPexcel 官网下载最新的程序下来 ☞ 飞机在这里 我用的是1.78 放在vender 里面 在 function.php 写两个方法 路径当然是这个 ☞Commo ...
- Python爬虫实战(3):安居客房产经纪人信息采集
1, 引言 Python开源网络爬虫项目启动之初,我们就把网络爬虫分成两类:即时爬虫和收割式网络爬虫.为了使用各种应用场景,该项目的整个网络爬虫产品线包含了四类产品,如下图所示: 本实战是上图中的“独 ...
- 重读LPTHW-Lesson37
这次是复习课 复习python符号 整理如下 1.逻辑运算符not.and.or python中逻辑运算符包括not(布尔非).and(布尔与).or(布尔或).注意以下几点: ①运算规则: 例: ...
- java学习:AWT组件和事件处理的笔记(1)--文本框
java.awt包中的TextField类是专门用来建立文本框的,即TextField类创建的一个对象便是一个文本框. 1.TextField类的主要方法 (1)TextField() ...
- C语言基础11
函数指针的定义: 函数类型 (标识符 指针变量名)(形参列表) void printHello( ); void printHello( ){ printf("hello world!!! ...
- Outlook2007、2010和Foxmail的簽名設計
由於個人習慣問題公司大部分人採用第三方郵件工具,對與郵件的通訊設置大家完全可以通過嚮導完成,但是郵件的簽名設計往往隐藏了起来,现在就由我来带大家进行个性签名设计. Outlook2007 第一步: 点 ...
- SQLServer查看和解决死锁的方法
http://luohonghong.blog.163.com/blog/static/78312058201142411533316/ SQLServer查看和解决死锁的方法 2011-05-24 ...
- C# 导出CSV功能记录下
异常问题1: 如 机构编号 导出城CSV后,前面的四个0000不显示了, 解决办法 输出格式变为 =" 异常问题2: PPMABAT01:/MABATAPS/usr/ma_batas > ...
- 静态查找_Search
#include <stdio.h> #define MAXSIZE 50 #define OK 1 #define ERROR 0 int F[MAXSIZE];//斐波那契数列 int ...
- 浅谈JNDI的使用
原文:http://www.weicoop.com/web/article/52.html 关于什么是JNDI的概念这里不做解释,本文作为初学者根据所了解到内容做些总结,主要内容如下: 1.JNDI使 ...