20161216

安卓fragment

作为 Activity 界面的一部分,Fragment 的存在必须依附于 Activity,并且与 Activity 一样,拥有自己的生命周期,同时处理用户的交互动作。同一个 Activity 可以有一个或多个 Fragment 作为界面内容,并且可以动态添加、删除 Fragment,灵活控制 UI 内容,也可以用来解决部分屏幕适配问题,另外,support v4 包中也提供了 Fragment,兼容 Android 3.0 之前的系统(当然,现在 3.0 之前的系统在市场上已经很少见了,可以不予考虑),使用兼容包需要注意两点:

1.Activity 必须继承自 FragmentActivity;

2.使用 getSupportFragmentManager() 方法获取 FragmentManager 对象;

使用的一些注意事项

如果你的项目支持3.0以下的版本,请导入如下的包:android.support.v4.*;在使用Fragment的Activity请继承FragmentActivity而不是Activity。如果您的系统是3.0或以上版本,同样需要导入类似的包,但是可以使用普通的Activity。

在3.0以上也是可以继承于FragmentActivity的,但是需要有以下的几点注意,如果我们是继承于FragmentActivity的话,我们使用的是android.v4.Fragment,我们在制作自己的Fragment的时候,我们要注意不要继承于andrid.app.Fragment,如果继承于app.Fragment,那么就会在FragmentManager.add的时候出现类型转换错误,这一点千万要注意。

Fragment其实非常类似于一个内嵌于Activity的Activity,只不这它叫Fragment而已,它有属于自己的生命周期方法,但注意它也多了几个需要去实现的方法,如View onCreateView方法,它是操作系统向Fragment请求UI的一个方法,我们需要实现并且返回我们需要让它展现的一些内容,在我们继承的Fragment中,我们可以加上一些网络操作等操作,同时也是一个为主UI减负的一个非常好的方法。

在我们的主Activity中添加Fragment,我们需要注意的是我们需要在我们的布局中添加一个Container,这样的话我们的Fragment才能有地方可放。

如下:
android:id="@+id/frag_container"
android:layout_width="200dip"
android:layout_height="200dip" />
我们需要在Activity的布局中保留一个Fragment让我们去放我们的Fragment,看上面的id为frag_container,那么我们在添加的时候就用
beginTransaction().add(R.id.frag_container,fragment2).commit();

下面是它的周期表:

时间: 2024-07-29 03:40:27

20161216的相关文章

【Java每日一题】20161216

package Dec2016; import java.util.ArrayList; import java.util.List; public class Ques1216 { public static void main(String[] args) { List<String> list01 = new ArrayList<String>(); List<Integer> list02 = new ArrayList<Integer>(); Sy

PHP课程总结20161216

今天的课程,老师主要介绍了PHP语言中函数的用法,其余时间我们做了一些相应的练习. 一.总结 1.函数(function) <1>使用function来定义. <2>方法名命名要求与变量一致. <3>使用小驼峰命名方法名. <4>格式:function  方法名  ([参数列表]) {方法体} 2.使用函数的好处 <1>可以完成某项特定功能,并且可以重复使用,简化了代码,提高了效率. <2>一处修改,处处生效,利于代码的维护:提高了程

FJUTOJ-周赛2016-12-16

注:fjutoj基本每周都有一次周赛,欢迎大家都来参加! 网址:http://210.34.193.66:8080/vj/index.jsp A题:来源 POJ 2773 题意:给两个数m和k,问第k 个和m 互素的数是多少(从1到无穷大). 思路: 二分 + 容斥 先求出m 的素因子p[],数x 和m 互素就意味着x 不存在p 数组中的任意一个素因子,现在要 求n 下面不存在p[]素因子的数的数量可以转化为,n-存在p[]中任意一个素因子的数的个数(经典题型,用容斥可以求),现在二分(k,IN

Linux根文件系统分析之init和busybox

Hi,大家好!我是CrazyCatJack.今天给大家讲解Linux根文件系统的init进程和busybox的配置及编译. 先简单介绍一下,作为一个嵌入式系统,要想在硬件上正常使用的话.它的软件组成大概有这三部分:1)bootloader  2)嵌入式系统kernel  3)根文件系统 .这其实非常好理解,类比于PC上的操作系统,首先我们需要类似BIOS的东东,来控制系统的启动项,决定从哪里启动,怎样启动,启动什么.在嵌入式系统里bootloader就起着这样的作用.再者,我们需要一个已经配置.

CentOS 7 下安装redis步骤

1. 从redis官网下载redis源码,本例安装在/usr/opt下 [[email protected] opt]# pwd /usr/opt [[email protected] opt]# wget http://download.redis.io/releases/redis-3.2.6.tar.gz --2016-12-16 21:55:49-- http://download.redis.io/releases/redis-3.2.6.tar.gz 正在解析主机 download.

天气预报API(六):中国气象频道、腾讯天气--“新编码”接口的测试

说明 本文所有测试均以青岛为例. 本文所列接口城市代码(cityid)参数都使用的 "新编码": 全国城市代码列表(新) 本文接口均不是官方接口,仅供测试使用! 腾讯天气 空气质量指数 (aqi) http://weather.gtimg.cn/aqi/01012310.json?callback= 返回unicode字符编码,并且数值是浮点数: [ {  "pm2_5": 0,  "primary_pollutant": null,  &quo

练习一

1.创建一张某超市的购物表,字段包括:商品名,购物价格,商品生产日期,商品分类:CREATE TABLE menu ( id int PRIMARY KEY auto_increment, name char(10), price FLOAT (5,2), product_time DATE , class CHAR(10))CHARACTER SET utf8; 向该表中插入多条数据:INSERT INTO menu (name,price,product_time,class) VALUES

api-gateway

#spring-oauth-server <strong>Spring与OAuth2的整合</strong> 项目用Maven管理, 字符编码: UTF-8 使用的技术与版本号<ol> <li>JDK (1.8.0_40)</li> <li>Servlet (3.1.0)</li> <li>Spring (4.1.6.RELEASE)</li> <li>Spring Security (

Linux sed 替换第一次出现的字符串

/********************************************************************************* * Linux sed 替换第一次出现的字符串 * 说明: * 需要替换配置文件中第一次出现的文本内容. * * 2016-12-16 深圳 南山平山村 曾剑锋 ********************************************************************************/ 一.参考