Fragment介绍及使用方法

简介

-Fragment(碎片)是一种可以嵌入在Activity中的UI片段,它可以用来描述Activity中的一部分布局。

生命周期

–Fragment不能独立存在,必须嵌入到Activity中使用,所以Fragment生命周期直接受所在的Activity影响。
–当在Activity中创建Fragment时,Fragment处于启动状态,当Activity被暂停时,其中的所有Fragment也被暂停,当Activity被销毁时,所有在该Activity中的Fragment也被销毁。当一个Activity处于运行状态时,可以单独地对每一个Fragment进行操作,如添加或删除,当添加时,Fragment处于启动状态,当删除时,Fragment处于销毁状态。

创建Fragment

public class NewListFragment extends Fragment{
@Override
public View onCreateView(LayoutInflater,ViewGroup container,
											Bundle savedInstanceState){
			View v=inflater.inflater(R.layout.fragment,container,false);
			return v;
		}
}

注意Android系统中提供了两个Fragment类,分别是android.app.Fragment和android.support.v4.app.Fragment。如果NewListFragment类继承的是android.app.Fragment类,则程序只能兼容3.0版本以上的Android系统。如果NewListFragment类继承的是android.support.v4.app.Fragment类,则程序可以兼容1.6版本以上的Android版本

在Activity中添加Fragment

– 在Activity中使用Fragment时,可以通过两种方式将Fragment添加到Activity中,
一种是通过布局文件添加,一种是通过代码打开动态添加
通过布局文件添加Fragment

<fragment
		android:name="cn.itcast.NewsListFragment" //自定义Fragment的完整路径
		android:id="@+id/newslist"
		android:layout_width="match_parent"
		android:layout_height="match_parent">
</fragment>

在Activity中代码动态添加Fragment
① 创建一个Fragment的实例对象
② 获取fragmentManager(Fragment管理器)的实例
③ 开启FragmentTransaction(事务)。
④ 向Activity的布局容器(一般为FrameLayout)中添加Fragment
⑤ 通过commit()方法提交事务。

NewsListFragment fragment =new NewsListFragment();//实例化Fragment对象
FragmentManager fm=getFragmentManager();//获取FragmentManager实例
FragmentTransaction beginTransaction=fm.beginTransaction();//开启事务
beginTransaction.replace(R.id.ll,Fragment);//添加Fragment
beginTransaction.commit();//提交事务
发布了6 篇原创文章 · 获赞 7 · 访问量 138

猜你喜欢

转载自blog.csdn.net/qq_41696518/article/details/105294582
今日推荐