关闭

Android Activity加载Fragment的一般简易方法

标签: android
4351人阅读 评论(0) 收藏 举报
分类:
Android Activity加载Fragment的一般简易方法


首先写一个布局,布局里面以FrameLayout布局为佳,
<FrameLayout 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:id="@+id/fragment"
    tools:context="com.example.demo.MainActivity" >
</FrameLayout>


然后在上层java代码中创建Fragment进而replace上面的这个FrameLayout:

package com.example.demo;

import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		setContentView(R.layout.activity_main);

		FragmentManager fm = this.getFragmentManager();
		FragmentTransaction ft = fm.beginTransaction();
		ft.replace(R.id.fragment, new MyFragment());

		// addToBackStack添加到回退栈,addToBackStack与ft.add(R.id.fragment, new
		// MyFragment())效果相当
		// ft.addToBackStack("test");

		ft.commit();
	}

	private static class MyFragment extends Fragment {

		@Override
		public void onCreate(Bundle savedInstanceState) {
			super.onCreate(savedInstanceState);
		}

		@Override
		public View onCreateView(LayoutInflater inflater, ViewGroup container,
				Bundle savedInstanceState) {
			View view = inflater.inflate(android.R.layout.simple_list_item_1,
					null);
			return view;
		}

		@Override
		public void onViewCreated(View view, Bundle savedInstanceState) {
			TextView text = (TextView) view.findViewById(android.R.id.text1);
			text.setText("hello,world!");
		}
	}
}


如果使用FragmentTransaction的add而不是replace,那么与replcae情况下再加入addToBackStack结果相当。
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

【Android进阶篇】Fragment的两种加载方式

一、概述 Fragment(碎片,片段)是在Android 3.0后才引入的,主要的目的是为了实现在大屏幕设备上的更加动态更加灵活的UI设计。这是因为平板电脑的屏幕比手机大得多,所以屏幕上可以放更多的...
  • zgljl2012
  • zgljl2012
  • 2015-08-11 17:18
  • 8397

Andriod Fragment---给Activity添加一个Fragment

通常,Fragment作为Activity整体视图层次树的一部分,被嵌入到宿主Activity的界面的一部分。有两种方法能够把Fragment添加到Activity布局中: 1.  在Activit...
  • FireOfStar
  • FireOfStar
  • 2012-02-19 18:52
  • 49149

Android让Fragment加载到Activity中

欢迎分享开发问题到码农社区!将问题帖子私信@程序员俱乐部,将有近60000人为您解答! Android上的界面展示都是通过Activity实现的,Activity实在是太常用了。但是Activi...
  • MYBOYER
  • MYBOYER
  • 2015-05-07 17:24
  • 838

Android系列之Fragment(一)----Fragment加载到Activity当中

Android上的界面展示都是通过Activity实现的,Activity实在是太常用了。但是Activity也有它的局限性,同样的界面在手机上显示可能很好看,在平板上就未必了,因为平板的屏幕非常大,...
  • hehehe_anzhuo
  • hehehe_anzhuo
  • 2015-07-16 16:51
  • 235

在Activity中显示Fragment

在Activity中显示Fragment,还必须将Fragment提那家到Activity中,将Fragment添加到Activity有两种方式 在布局文件中使用元素添加,元素的androi...
  • baohanqing
  • baohanqing
  • 2014-02-13 08:18
  • 1357

Android-动态加载和静态加载Fragment

Android-动态加载和静态加载Fragment以及通信Fragment使用非常方便,和Activity功能一样,不过比Activity简捷,在安卓App中很常见。 比如上图,下面四个按钮,每...
  • ACM_TH
  • ACM_TH
  • 2016-03-31 11:54
  • 3786

Activity回收时候fragment的异常

在Android开发中,如果我们用到V4包里面的Fragment,在应用被切换到后台的时候,Activity可能被回收,但是创建的所有Fragment则会被保存到Bundle里面,下面是Fragmen...
  • zhangfei2018
  • zhangfei2018
  • 2015-11-18 18:37
  • 1404

Activity Fragment 加载不重复加载数据

  • 2015-01-24 15:58
  • 539KB
  • 下载

(Android系列之Fragment(一)----Fragment加载到Activity当中)

文章来源:http://www.cnblogs.com/smyhvae/p/3983234.html 【正文】 上一章节中(Android系列之Fragment(一)-...
  • qq_30691619
  • qq_30691619
  • 2015-08-31 16:42
  • 495

Android系列之Fragment(一)----Fragment加载到Activity当中

【声明】  欢迎转载,但请保留文章原始出处→_→  生命壹号:http://www.cnblogs.com/smyhvae/  文章来源:http://www.cnblogs.com/smyhv...
  • u014558889
  • u014558889
  • 2015-03-30 13:43
  • 2130
    个人资料
    • 访问:1534303次
    • 积分:20220
    • 等级:
    • 排名:第481名
    • 原创:555篇
    • 转载:13篇
    • 译文:2篇
    • 评论:323条
    关于我
    邮箱: zhangphil@live.com
    博客专栏