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

来源:互联网 发布:西云数据 光环新网 编辑:程序博客网 时间:2024/05/21 07:06
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 {@Overrideprotected 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 {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View view = inflater.inflate(android.R.layout.simple_list_item_1,null);return view;}@Overridepublic 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
原创粉丝点击