Android基础总结2 ---- Fragment与Activity

本文主要探讨Android中Fragment和Activity的重要知识点,包括Fragment作为Activity界面组件的使用,如何在Activity中添加、移除和替换Fragment,以及Fragment的生命周期和与Activity的通信。通过实例代码详细解释了Fragment的添加方式和数据传递机制。
摘要由CSDN通过智能技术生成

Android基础总结2 ---- Fragment与Activity
在Android的基础中,除了各种控件的使用之外,Fragment和Activity也是很重要的知识点。本博文参考了慕课网的Android的教学资源,学习了一段时间,很有一种想和大家分享的冲动

  • 1.Fragment作为Activity界面的一部分组成出现
  • 2.可以在一个Activity中同时出现多个Fragment,并且,一个Fragment亦可在多个Activity中使用。
  • 3.在Activity运行过程中,可以添加、移除或者替换Fragment(add()、remove()、replace()) 
  • 4.Fragment可以响应自己的输入事件,并且有自己的生命周期,当然,它们的生命周期直接被其所属的宿主activity的生命周期影响。
先看看Fragment 的生命周期吧!看下图,这里不多做解释。

下面是Fragment的生命周期的验证程序:注意看注释就明白了

package com.example.fragmentdome;

import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class MyFragment3 extends Fragment {

	private TextView tv;

	// 启动Fragment——>屏幕锁屏——>屏幕解锁——>
	//切换到其他的Fragment——>回到桌面——>回到应用——>退出Fragment
	/**
	 * 每次创建都会绘制Fragment的View组件时回调该方法
	 */
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		View view = inflater.inflate(R.layout.fragment2, container, false);
		TextView tv = (TextView) view.findViewById(R.id.text);
		tv.setText("第一个Fragment");
		Log.i("Main", "Fragment1---onCreateView()");
		return view;
	}

	/**
	 * 当Fragment被添加到Activity时候会回调这个方法,并且只调用一次
	 */
	@Override
	public void onAttach(Activity activity) {
		// TODO Auto-generated method stub
		super.onAttach(activity);
		Log.i("Main", "Fragment1---onAttach()");

	}

	/**
	 * 创建Fragment时会回调,只会调用一次
	 */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		Log.i("Main", "Fragment1---onCreate()");
	}

	/**
	 * 当Fragment所在的Activty启动完成后调用
	 */
	@Override
	public void onActivityCreated(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onActivityCreated(savedInstanceState);
		Log.i("Main", "Fragment1---onActivityCreated()");

	}

	/**
	 * 启动Fragment
	 * 
	 */
	@Override
	public void onStart() {
		// TODO Auto-generated method stub
		super.onStart();
		Log.i("Main", "Fragment1---onStart()");

	}

	/**
	 * 恢复Fragment时会被回调,调用onStart()方法后面一定会调用onResume()方法
	 */
	@Override
	public void onResume() {
		// TODO Auto-generated method stub
		super.onResume();
		Log.i("Main", "Fragment1---onResume()");

	}

	/**
	 * 暂停Fragment
	 */
	@Override
	public void onPause() {
		// TODO Auto-gener
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值