练手小项目之新闻类(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(); } }