fragment作用

同一程序中切换界面 比activity轻快,灵活.

fragment代码示例

ide  : android studio 1.2
sdk : 22

package com.example.f6k5i8.lfragment;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class AnotherFragment extends <span style="color:#33ccff;">Fragment</span> {
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        //R.layout.fragment_another是本fragment对应的资源文件,container是主布局,
        View root = inflater.inflate(R.layout.fragment_another, container, false);
        root.findViewById(R.id.btnBackFragment).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                getFragmentManager().popBackStack();
            }
        });
        return root;
    }
}

1.注意 fragment的包

注意这里的基类fragment 是 import android.support.v4.app.Fragment; 里的.不是android.app里的


2.界面配置

fragment也有界面布局xml文件: fragment_another.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/fragmentB_text"
        android:id="@+id/anotherFragment"
        android:layout_gravity="center_horizontal" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAllCaps="false"
        android:text="后退到上一个Fragment"
        android:id="@+id/btnBackFragment"
        android:layout_gravity="center_horizontal" />
</LinearLayout>

3.fragment与layout.xml关联

AnotherFragment与它对应的layout.xml关联的代码是 onCreateView函数中的下面语句;

View root = inflater.inflate(R.layout.fragment_another, container, false);

4.跳转到一个新的fragment示例代码

getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment())
                    .commit();

getFragmentManager().beginTransaction()
                    .addToBackStack("AnotherFragment的标记")
                    .replace(R.id.container, new AnotherFragment())
                    .commit();

有add,有replace等多种方法.



参数R.id.container是主容器的id,它在activity_main.xml中定义,且不能用R.layout.activity_main.



参数new AnotherFragment() 是被添加的fragment子视图.

注意 addToBackStack 将打开的fragment压进栈.这样方便返回

5.从新fragment返回

前提是本fragment在打开时是addToBackStack里的

 getFragmentManager().popBackStack();

fragment (1)简单示例:定义,界面配置,fragment之间的跳转的更多相关文章

  1. 安卓欢迎界面和activity之间的跳转问题

    使用安卓的UI界面,就不得不了解activity,由于actvity就像是一个form表单一样,全部的UI都呈如今这里,他能够承载全部的UI控件. INtent就是一个中继站一样.他负责组件之间的沟通 ...

  2. ViewPager+Fragment替代TabHost效果的简单示例

    本示例旨在展示fragment替代tabhost的效果,具体的业务逻辑还要根据这个示例进行扩展. 效果图如下: 主Activity代码: package com.llb.view; import ja ...

  3. 【Android】Fragment的简单笔记

    被虐了,做某公司笔试时,发现自己连个Fragment的生命周期都写不详细.平时敲代码,有开发工具的便利,有网上各大神的文章,就算忘了也很容易的可以查到,但当要自己不借助外界,却发现自己似乎对该知识点并 ...

  4. Android开发——Fragment的简单使用总结

    前言: 之前搞项目的时候,就使用了这个Fragment,中间遇到了许多坑,把坑都解决了,现在写一篇较为简单的Fragment使用总结 Fragment的简单介绍: 简单来说,Fragment其实可以理 ...

  5. 【Android】7.0 第7章 简单适配器和布局--本章示例主界面

    分类:C#.Android.VS2015: 创建日期:2016-02-09 修改日期:2016-02-13 一.在AssemblyInfo.cs文件中配置应用程序清单 前面的章节我们说过,除了在And ...

  6. Android流行界面结构——Fragment通过ViewPager(带指示器)嵌套Fragment结构的创建方法详解

    原创文章,转载请注明出处http://www.cnblogs.com/baipengzhan/p/6287213.html 当前Android流行界面结构的一种——Fragment通过ViewPage ...

  7. Fragment的简单使用

    最近一直有点忙,刚刚看到一个朋友的留言提到Fragment中加载ListView的问题,这里写了一个非常简单的测试,至于对Fragment的增.删.改实现动态布局构建灵活的UI,以后有时间在讨论: M ...

  8. Android App组件之Fragment说明和示例

    Android App组件之Fragment说明和示例 1 Fragement介绍 Android从3.0开始引入Fragment,主要是为了支持更动态更灵活的界面设计. Fragment是activ ...

  9. Android-fragment简介-fragment的简单使用

    1.fragment简介 在Android3.0版本之前Google还没有推出fragment,在Android3.0版本之后Google推出了fragment,由于Android3.0版本是过渡期版 ...

随机推荐

  1. NVL 和NVL2函数

    NVL 和NVL2函数 NVL函数: nvl(exp1,exp2) -->判断exp1是否是null,如果exp1不是则返回exp1的值,如果exp1为null则返回exp2 nvl2函数: n ...

  2. Android -- 背景虚化

    1,在项目中我们常有这样的需求,就是在个人中心的时候,当用户登录后,要显示用户登陆后的头像,然后背景是用户头像的虚化 ,接下来就来实现一下这个功能,先看一下效果 2,实现起来也挺简单的,没什么难度 , ...

  3. WM (Constants)

    Create page WM (Constants)   Summary WM_* Constants and their definitions or descriptions and what c ...

  4. 将EXCEL数据表导入到SQL中

    工具/原料 SQL Server Management Studio 已建立SQL数据库 方法/步骤   打开SQL Server Management Studio,按图中的路径进入导入数据界面. ...

  5. 夺命雷公狗---DEDECMS----4快速入门之栏目页报错之快速解决

    我们dedecms是分3级或者3层的,如下图所示: 点击“玄幻小说”后发现出了错,如下图所示: 我们的dedecms是分3层的,他们分别是: 网站首页 网站的栏目页面(多级)--->栏目页面是需 ...

  6. PTPX中的time_based analysis

    根据VCD文件的type,PTPX支持instantaneous peak power analysis和cycle_accurate peak power analysis. Time-Based ...

  7. 前端单页应用SEO解决方案

    在这里只会提到Google的解决方案,日后再补充百度的解决方案 我们经常使用的单页都是#!来做应用的前端路由,因为这个在多个版本浏览器上有很好的兼容性 当Google发现URL里有#!符号,Googl ...

  8. 《zw版·delphi与halcon系列原创教程》hello,zw

    <zw版·delphi与halcon系列原创教程>hello,zw 按惯例,第一个程序是‘hello’ 毕竟,Halcon是专业的图像库,所以我们就不用纯文本版的,来一个专业版.Halco ...

  9. [Mongo] How to Install Mongo on Debian(不要安装)

    Install MongoDB on Debian¶ This tutorial outlines the steps to install MongoDB on Debian systems. Th ...

  10. 【转】“C语言说到底是一门以内存为中心的编程语言” —— 这种说法正确吗?

    转自:http://weibo.com/1005903613/AAgqA3kb4  LAW张粑粑的微博