activity和fragment的区别

 我来答
就烦条0o
2016-07-31 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
1.fragment显得更加灵活。可以直接在XML文件中添加<fragment/>,Activity则不能。

eg:

<fragment

Android:id="@+id/left_fragment"

Android:name="com.example.fragmenttest.LeftFragment"





…/>

<fragment

Android:id="@+id/right_fragment"

Android:name="com.example.fragmenttest.rightFragment"





…/>

2.可以在一个界面上灵活的替换一部分页面,活动不可以,做不到。

替换的时候注意要将这个fragment放在返回栈上。

3.fragment和Activity之间的通信:(也就是控件的相互操控)

fragment控制fragment:得到一个Activity,然后通过这个Activity的getFragmentManager()获得该Fragment的实例。

fragment控制Activity:这个很简单。每个Fragment都有getActivity()得到一个活动。MainActivity activity=getActivity();

Activity控制fragment:xxxFragment xxx=getFragmentManager().findFragmentById();

Activity控制Activity:这个显然是通过Intent活动之间的通信完成。别忘了在被打开的活动中创建Intent和得到Intent一起进行,写个静态的actionStart()。

4.fragment和Activity中控件的加载

Fragment的载入是通过OnCreateView的时候通过inflater.inflate()加载布局,然后通过修改
main.xml,在main.xml上增加注册fragment标签,然后通过android:name来载入你已经通过inflater加载的隐藏布
局。

有几个关键点:fragment是通过inflater加载View然后在main.xml中注册得到的。当然如果你可以在fragment中得到View那就可以通过View.findViewId()来操控fragment上的具体控件。

5.动态加载不同的fragment:

首先,监听你的按钮。

1.创建待加载fragment的实例

2.得到FragmentManager,在活动中可以直接调用getFragmentManager()方法获得。

3.调用Manager的BeginTansation()

4.用replace()改变不同的Fragment

5.commit事务。

6.碎片的生命周期
微测检测5.10
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式