Fragment和FragmentActivity使用Demo

在这里用代码简单演示一下两个fragment加入到同一个activity中。

fragment相当于一个封装了的组件了,fragment里有自己的生命周期,也相当于一个Activity,区别是fragment里面重写的方法必须有:oncreate(bundle);oncreateView();onpause();

直接上代码:

Fragment1.class

public class Fragment1 extends Fragment{
/* (non-Javadoc)
* @see android.support.v4.app.Fragment#onCreate(android.os.Bundle)
*/
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}

/* (non-Javadoc)
* @see android.support.v4.app.Fragment#onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle)
*/
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub

return inflater.inflate(R.layout.fragment1, container, false);
}

/* (non-Javadoc)
* @see android.support.v4.app.Fragment#onPause()
*/
@Override
public void onPause() {
// TODO Auto-generated method stub
super.onPause();
}

}

fragment1.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"
android:orientation="vertical" >
<Button
android:id="@+id/button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="fragment1代码添加"/>

</LinearLayout>

第二个

Fragment2.java

public class Fragment2 extends Fragment {

/* (non-Javadoc)
* @see android.support.v4.app.Fragment#onCreate(android.os.Bundle)
*/
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}

/* (non-Javadoc)
* @see android.support.v4.app.Fragment#onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle)
*/
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.fragment2, container, false);
}

/* (non-Javadoc)
* @see android.support.v4.app.Fragment#onPause()
*/
@Override
public void onPause() {
// TODO Auto-generated method stub
super.onPause();
}

}

fragmet2.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"
android:orientation="vertical" >
<Button
android:id="@+id/button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="fragmentXML添加方式"/>

</LinearLayout>

装载这两个fragment的FragmentAcitivity.java

public class MainActivity extends FragmentActivity {
private Fragment1 fragment1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragment1 = new Fragment1();
fragmentTransaction.add(R.id.linearcon, fragment1).commit();

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}

Activity的布局文件:

<LinearLayout 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=".MainActivity" 
android:orientation="vertical">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<LinearLayout
android:id="@+id/linearcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<fragment
android:name="com.tiejiang.fragmentdemo.Fragment2"
android:id="@+id/fragment2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>

运行的结果如下:

注:这里使用import android.support.v4.app.FragmentManager;

则使用的是:FragmentManager fragmentManager = getSupportFragmentManager();

后面如果用到了其提功能的话再更新这篇吧

Fragment和FragmentActivity使用Demo

时间: 2024-10-13 07:22:34

Fragment和FragmentActivity使用Demo的相关文章

fragment和fragmentactivity解析

一.为什么要使用Fragment  1.当我们需要动态的多界面切换的时候,就需要将UI元素和Activity融合成一个模块.在2.3中我们一般通过各种Activity中进行跳转来实现多界面的跳转和单个界面动态改变.在4.0或以上系统中就可以使用新的特性来方便的达到这个效果--Fragment类.Fragment类似一个嵌套Activity,可以定义自己的layout和自己的生命周期. 2. 多个Fragment可以放在一个Activity中(所以上面讲到类似一个嵌套Activity),而这个类可

Fragment与FragmentActivity通信封装

在项目里面会经常用到Fragment与FragmentActivity,比如Fragment之间的界面切换与Fragment之间的值传递等等,为了方便起见我把Fragment和FragmentActivity进一步封装,那在实际开发中只需要继承父类,然后调用一个方法就可以实现Fragment之间界面切换和值传递 1.FragmentActivity类的封装 <span style="font-size:14px;">public class BaseChangeFragme

转 Fragment 和 FragmentActivity的使用

今天学习下 Android中的 Fragment 和 FragmentActivity,因为没有4.0手机,平台是2.3.3 所以我是使用 v4 support 包来进行学习. 要想用Fragment 功能必须先让activity继承FragmentActivity,其原因是里面包含了Fragment运作的FragmentManager接口的实现类 FragmentManagerImpl ,由这个类管理所有Fragment的显示.隐藏 1.使用最简单的Fragment,我们只要继承Fragmen

Android Fragment和FragmentActivity用法

Android Fragment是Android4.0以上才有的:而FragmentActivity是为了兼容4.0以下版本的Fragment使用的. 所以如果你想兼容4.0以下Android版本使用Fragment的话,框架Activity需要继承FragmentActivity,FragmentActivity这个类是在android.support.v4.app.FragmentActivity里的. 下面介绍2种用法: 1.继承Activity的. (这个只针对4.0以上的Android

fragment和fragmentactivity解析 (转)

一.为什么要使用Fragment  1.当我们需要动态的多界面切换的时候,就需要将UI元素和Activity融合成一 个模块.在2.3中我们一般通过各种Activity中进行跳转来实现多界面的跳转和单个界面动态改变.在4.0或以上系统中就可以使用新的特性来方便的 达到这个效果--Fragment类.Fragment类似一个嵌套Activity,可以定义自己的layout和自己的生命周期. 2. 多个Fragment可以放在一个Activity中(所以上面讲到类似一个嵌套Activity),而这个

Fragment(9)FragmentActivity和Activity的区别

getSupportFragmentManager()  ,FragmentActivity用在android sdk 3以下. getFragmentManager() + Activity 用在android sdk 3以上. stackoverflow的原文 A FragmentActivity is a subclass of Activity that was built for the Android Support Package. The FragmentActivity cla

(转)Fragment、FragmentActivity与Activity的关系

总结: 1.FragmentActivity继承自Activity,用来解决3.0(API:11)之前没有fragment的兼容性问题,所以在使用的时候需要导入v4 support包,同时继承FragmentActivity,这样在Activity中就能嵌入Fragment来实现布局效果 2.当然3.0之后就可以直接继承自Activity,直接使用Fragment 3.获得FragmentManager的写法是不同的.3.0以下:getSupportFragmentManager()  ,3.0

Android Fragment和FragmentActivity区别和用法

Android Fragment是Android4.0以上才有的:而FragmentActivity是为了兼容4.0以下版本的Fragment使用的. 所以如果你想兼容4.0以下Android版本使用Fragment的话,框架Activity需要继承FragmentActivity,FragmentActivity这个类是在android.support.v4.app.FragmentActivity里的. 下面介绍2种用法: 1.继承Activity的. (这个只针对4.0以上的Android

Fragment和FragmentActivity的使用

可以分为下面的几部分: 使用支持库 创建一个Fragment 创建一个动态UI 多个Fragment之间的通信 1.使用支持库 如果您的应用需要运行在3.0及以上的版本,可以忽略这部分内容. 如果您的应用使用在3.0以下.1.6及以上的版本,需要使用支持库来构建. 使用支持库的步骤: 使用SDK下的SDK Manager工具下载Android Support Package 2. 在您的Android工程的顶级目录下创建一个libs目录 3. 找到您的SDK下的/extras/android/s