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

简介: Android Activity加载Fragment的一般简易方法首先写一个布局,布局里面以FrameLayout布局为佳,然后在上层java代码中创建Fragment进而replace上面的这个FrameLayout:package com.
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结果相当。
相关文章
|
3月前
|
Android开发 Python
Python封装ADB获取Android设备wifi地址的方法
Python封装ADB获取Android设备wifi地址的方法
61 0
|
3月前
|
Android开发 开发者
Android UI设计: 请解释Activity的Theme是什么,如何更改应用程序的主题?
Android UI设计: 请解释Activity的Theme是什么,如何更改应用程序的主题?
42 1
|
3月前
|
数据库 Android开发 开发者
Android基础知识:请解释Activity的生命周期。
Android基础知识:请解释Activity的生命周期。
43 2
|
3天前
|
Android开发
Android Mediatek NVRAM 加载 MAC 地址并禁用 MAC 地址更新
Android Mediatek NVRAM 加载 MAC 地址并禁用 MAC 地址更新
6 0
|
22天前
|
Android开发
Android调用相机与相册的方法2
Android调用相机与相册的方法
17 0
|
2月前
|
Android开发
[Android 四大组件] --- Activity
[Android 四大组件] --- Activity
22 1
|
3月前
|
安全 Java 数据安全/隐私保护
Android和iOS应用程序加固方法详解:混淆、加壳、数据加密、动态加载和数字签名实现
Android和iOS应用程序加固方法详解:混淆、加壳、数据加密、动态加载和数字签名实现
73 0
|
3月前
|
Android开发
Android基础知识:什么是Fragment?与Activity的区别是什么?
Android基础知识:什么是Fragment?与Activity的区别是什么?
287 54
|
4月前
|
Android开发 Kotlin
android开发,使用kotlin学习Fragment
android开发,使用kotlin学习Fragment
48 0
|
4月前
|
XML JSON Android开发
[Android]使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换
[Android]使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换
54 0