我也不讲其他的,其实对于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="https://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();
}
}