简介
-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();//提交事务
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。