阅读Android官方文档 之应用程序组件——Activity(二)

   哎呀,周末又浪去了!无心学习啊!敲打

  今天继续看,文档看到Fragment了,啊哈。

  Fragment:

  添加无界面的Fragment  android可以将Fragment添加到activity中为其提供一个用户界面,也可以使用Fragment为activity提供后台动作,却不呈现多余的用户界面。

有界面添加:可以通过XML进行声明你所创建的Fragment

                                 也可以在代码中进行添加

              FragmentManager manager = getFragmentManager();

              FragmentTransaction ft = manager.beginTransaction();

              ft.add(R.id.container,MyFragment) //第一个参数是Fragment所在的容器ViewGroup,它由资源id(Resource id)第二个是要添加的Fragment。

无界面添加:同样通过add(Fragment ,String )方法添加,只不过为Fragment提供的是一个唯一字符串“tag”而不是“id”,对于无界面的Fragment,字符串便签是它唯一识别的方法,如果在activity中需要获取该fragment的话,可以通过 findFragmentByTag()

   为fragment提供id的三种方法:

1,android:id 提供一个唯一标识

2,android:tag 提供一个唯一字符串

3,如果上述属性都没有,系统会使用其容器(view)id

管理Fragment:

   通过FragmentManager进行activity中的fragment的管理,使用getFragmentManager()获取。

使用FragmentManager可以做以下事情

  1,使用findFragmentById()(用于actiiyt中获取有界面的fragment)或findFragmentByTag(用于activity总获取有或没有界面的fragment)

  2,使用popBackStack()(模仿用户的Back命令)从后台栈弹出fragment  (什么鬼,怎么没印象。惊讶好吧,忘得很干净)

  3,使用addOnBackStackChangedListener() 注册一个监听后台栈变化的监听器 (和上面那个一起的?- - )

处理Fragement事务:

  在activity中使用Fragment一大特点是具有对fragment 添加,删除,替换和执行其他动作的功能,以响应用户的互动。

   通过调用manage.beginTransaction();//开启事务,得到事务的实例。

   还可以调用addToBackStack()将事务添加到fragment的事务后台栈中,允许用户通过按Back键回退到前一个fragment状态。

 在执行删除fragment事务时,如果没有调用addToBackStack(),事务一提交fragment就会被销毁,而且用户无法回退它,如果调用了,那么fragment停止,但是当点击Back键,它将被恢复。

提示:对于每一个fragment事务,在提交之前通过se'tTransation()来应用一系列事务动作。

注意:必须在最后调用commit()

警告:必须在activity保存状态(用户离开activity时)之前调用commit()提交事务。如果尝试在之后调用,会抛出一个异常。这是因为如果activity需要被恢复,commit()提交后的状态会被丢失。对于这类事务丢失的情况可以使用commitAllowingStateLose();


哎呀!差不多了,虽然还有些东西,但觉得不太好自己写上来呢,太多了。复制,粘贴多不好敲打。好吧!!看完我复制粘贴下来了。只是还需要慢慢琢磨再见



     

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值