Fragment的2中载入方式!

1、静态有动态

代码如下:

public class MainActivity extends AppCompatActivity {
    private ContentFragment cf;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        setFragment();

    }
    //动态载入
    public void setFragment(){
        FragmentManager fm = getFragmentManager();
        FragmentTransaction ft = fm.beginTransaction();
        cf =  new ContentFragment();
        ft.replace(R.id.fragment_content,cf);
        ft.commit();
    }
}

静态载入fragment布局
title_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="40dp"
            android:text="@string/title"/>

</LinearLayout>

动态载入的布局:
context_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="40dp"
        android:text="@string/context"/>
</LinearLayout>

activity_main.xml布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.lesson.hs.fragmentExp.MainActivity">
    <!-- 自己定义的fragment-->
    <fragment
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/fragment_title"
        android:name="com.lesson.hs.fragmentExp.TitleFragment"
        />
    <!-- 动态载入的fragment容器-->
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/fragment_title"
        android:id="@+id/fragment_content"
        />
</RelativeLayout>

动态载入的fragment类:

public class ContentFragment extends Fragment {
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.context_layout,container,false);
        return view;
    }
}

静态载入的fragment类:

public class TitleFragment extends Fragment {
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.title_layout,container,false);
        return view;
    }
}
时间: 2024-08-06 15:57:35

Fragment的2中载入方式!的相关文章

【原创】【ViewPager+Fragment】ViewPager中切换界面Fragment被销毁的问题分析

ViewPager中切换界面Fragment被销毁的问题分析 1.使用场景 ViewPager+Fragment实现界面切换,界面数量>=3 2.Fragment生命周期以及与Activity生命周期对比                    3.问题描述 按上图所说,只有当Fragment所Attached的Activity执行destroy的时候才会调用onDestoryView方法,然而现实是: 当界面由2切换到1的时候,3界面对应的Fragment实际上走了如下流程: 1 -->onP

解决Fragment在Viepager中切换不保存状态的问题

在FragmentPagerAdapter中重写以下方法: 1 @Override 2 public Object instantiateItem(ViewGroup container, int position) { 3 Fragment fragment = (Fragment) super.instantiateItem(container, position); 4 fm.beginTransaction().show(fragment).commit(); 5 6 return fr

Fragment在Activity中跳转,实现类似新闻标题跳转新闻内容功能

1.准备的工作,新闻数据类,新闻数据适配器,适配器的布局: News.java package com.example.zps.fourfragmentbestpractice; /** * Created by zps on 2015/9/1. */ public class News { private String title; private String content; public String getTitle() { return title; } public void se

转载【ViewPager+Fragment】ViewPager中切换界面Fragment被销毁的问题分析

ViewPager中切换界面Fragment被销毁的问题分析 原文链接 http://www.cnblogs.com/monodin/p/3866441.html 1.使用场景 ViewPager+Fragment实现界面切换,界面数量>=3 2.Fragment生命周期以及与Activity生命周期对比                    3.问题描述 按上图所说,只有当Fragment所Attached的Activity执行destroy的时候才会调用onDestoryView方法,然而现

Fragment生命周期中方法分析

Fragment是相当常用的控件,下面我以本人对其生命周期的方法的理解进行分析. 也是本人对知识点的一个巩固及梳理,有理解不对的地方,欢迎指正. 首先附一张android官网为我们提供的生命周期图,以便分析! onAttach(): attach翻译成中文是依附,贴上.即当Fragment第一次被依附到Activity中的时候调用. onCreate(): 这个方法相信大家都不陌生,当Fragment第一次被创建并初始化. onCreateView(): Fragment必写的一个方法,返回的V

清空Fragment回退栈中某个Fragment之上的所有Fragment

根据debug信息查看Fragment回退栈的情况,具体debug代码如下: int num = getActivity().getSupportFragmentManager().getBackStackEntryCount(); String numString = "++++++++++++++++++++++++++++++++++Fragment回退栈数量:"+num; TALogger.d("Fragment", numString); for (int

Android中Fragment的简单介绍

Android是在Android 3.0 (API level 11)引入了Fragment的,中文翻译是片段或者成为碎片(个人理解),可以把Fragment当成Activity中的模块,这个模块有自己的布局,有自己的生命周期,单独处理自己的输入,在Activity运行的时候可以加载或者移除Fragment模块. 其中有个经典图,大家就字面上理解下就行: 可以把Fragment设计成可以在多个Activity中复用的模块,为了在Android上创建动态的.多窗口的用户交互体验,你需要将UI组件和

求解viewpager中的fragment切换,怎么返回数据到activity

============问题描述============ 例如: activity含有一个viewpager和一个textview viewpager有3个fragment可以左右滑动, 滑动到第一个fragment,activity中的textview显示1 滑动到第二个fragment,activity中的textview显示2 滑动到第三个fragment,activity中的textview显示3 这应该怎么处理? ============解决方案1============ ViewPa

在Fragment中加一个嵌套了ListView的ScrollView(一)

首先介绍一下这个程序的功能: 1.顶部有两个可以切换Fragment的Button 2.在其中一个Fragment中里有个ScrollView,ScrollView中有ViewFlipper,ListView.(另一个Fragment中就随意了) 随着listView的滚动,ViewFlipper中的内容也会滚动. 3.两个布局(主布局,一个Fragment的布局(另一个没写,其实都一样)),一个Fragment,一个主Activity,重写ListView(不重写的话,不会随着ViewFlip