Jack_King007的专栏

练手小项目之新闻类(2)Fragment的另种理解

我也不讲其他的,其实对于Fragment我一直有个疑惑,为毛要开启一个事务呢,一直思索不得起果。


其实看到事务,我就想起来了,数据库,回滚,添加,remove,这跟Fragment 是一个道理。


Fragment是一种轻量级的activity 不需要在配置文件注册,那他不是XML 他是代码呀,安卓的四大组件为啥都要注册,因为他跟系统息息相关,Fragment官方解释 activity的碎片。从事务我又想到了数据库。数据库的事务开启,是在内存中开辟了一个空间进行事务处理,那我是否可以这么理解

Fragment就是在activity上面开启了一个空间进行事务处理,这个空间是依附在activity上面的

		//获取到Fragment的管理对象
		FragmentManager manager = getSupportFragmentManager();
		//开启一个事务
		FragmentTransaction ft = manager.beginTransaction();
		//把Fragment添加进Activity
		ft.add(R.id.container, new TTFragment());
		//提交
		ft.commit();.
<img src="http://img.blog.csdn.net/20141108075643730?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSmFja19LaW5nMDA3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

这么去理解是不是就想通了................

Mainactivity.java

package com.example.android20_lzhxw;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;

/**
 * 把Fragment添加到Activity:
 * 	getFragmentMenager()  begin...():FragmentTransaction
 * 	add()
 */
public class MainActivity extends FragmentActivity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//获取到Fragment的管理对象
		FragmentManager manager = getSupportFragmentManager();
		//开启一个事务
		FragmentTransaction ft = manager.beginTransaction();
		//把Fragment添加进Activity
		ft.add(R.id.container, new TTFragment());
		//提交
		ft.commit();
	}

}