Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Fragment的基本用法介绍

Fragment的基本用法介绍

作者头像
林老师带你学编程
发布于 2022-11-30 02:11:46
发布于 2022-11-30 02:11:46
2640
举报
文章被收录于专栏:强仔仔强仔仔

1:管理Fragment回退栈 Fragment中FragmentManager主要是用来创建一个事物FragmentTransaction, 然后通过FragmentTransaction这个事物就行Fragment界面的管理。 其中主要有replace add remove hide show detach attach commit等方法 而且这些方法都是由FragmentTransaction来执行的,而FragmentTransaction则是由FragmentManager中的beginTransaction()来创建的出来的 例如: Fragment fragment = new Fragment();         FragmentManager fm = getFragmentManager();         FragmentTransaction tx = fm.beginTransaction();         tx.add(R.id.id_content, fragment "one"); //      tx.addToBackStack(null);         tx.commit(); 从上面例子可以看出有个函数没有讲过,就是tx.addToBackStack(null); 这个addToBackStack(null)看名字就能看出它的大概功能就是加入返回栈。 通俗的来说就是类似于activity中的返回每个activity的功能。 例如我们创建很多的Fragment,此时当我们点击返回按钮时就会用到addToBackStack(null);如果在哪个Fragment中有加入addToBackStack(null)返回队列中就会在点击返回时显示出来,如果没有就不会。 2:Fragment与Activity通信 a、如果你Activity中包含自己管理的Fragment的引用,可以通过引用直接访问所有的Fragment的public方法 b、如果Activity中未保存任何Fragment的引用,那么没关系,每个Fragment都有一个唯一的TAG或者ID,可以通过getFragmentManager.findFragmentByTag()或者findFragmentById()获得任何Fragment实例,然后进行操作。 c、在Fragment中可以通过getActivity得到当前绑定的Activity的实例,然后进行操作。 注:如果在Fragment中需要Context,可以通过调用getActivity(),如果该Context需要在Activity被销毁后还存在,则使用getActivity().getApplicationContext()。 e、Fragment与Activity通信的最佳实践

因为要考虑Fragment的重复使用,所以必须降低Fragment与Activity的耦合,而且Fragment更不应该直接操作别的Fragment,毕竟Fragment操作应该由它的管理者Activity来决定。所以可以通过接口来实现二者之间的调用。这样就不会有很强的耦合了。

这是本人这几天把看到的知识点稍微的总结一下,可能会有歧义。如果想了解更多请点击下面的连接。这位大神写的很完全,可以说是经典。 如果大家想看具体的解释可以去看一下大神的Fragment解释,讲的非常好。 这是链接地址: http://blog.csdn.net/lmj623565791/article/details/37970961

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-08-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Android入门教程 | Fragment (加载方法与通信)
com.rust.fragment.SecondFragment 就是 Fragment 子类 在SecondFragment.java里复写onCreateView方法,并返回定义好的view
Android_anzi
2021/10/25
6700
Android学习笔记(五)Fragment简介
  Fragment是在Android 3.0 (API level 11)中引入的Activity的子模块。初衷是为了适应大屏幕的平板电脑,我们只需要使用Fragment对UI组件进行分组、模块化管
codingblock
2017/12/29
9930
Android开发之Fragment回退栈
在Android开发之Fragment动态使用一文中,说到replace方法切换Fragment,会造成Fragment不断销毁、创建,但是有没有办法实现像Activity一样通过栈的方式来管理Fragment呢?答案是可以的,本文就来探讨一下。 一、Fragment回退栈 Activity切换时,相信大家都知道是通过栈的形式,不断压栈出栈,在Fragment的时候,如果你不是手动开启回退栈,它是直接销毁再重建,但如果将Fragment任务添加到回退栈,情况就会不一样了,它就有了类似Activity的栈管理
YungFan
2018/04/24
1.3K0
Android开发之Fragment回退栈
【Android开发基础系列】Fragment专题
  Android是在Android 3.0 (API level 11)开始引入Fragment的。
江中散人_Jun
2023/10/16
4960
【Android开发基础系列】Fragment专题
android之Fragment(官网资料翻译)[通俗易懂]
Android在3.0中引入了fragments的概念,主要目的是用在大屏幕设备上–例如平板电脑上,支持更加动态和灵活的UI设计。平板电脑的屏幕要比手机的大得多,有更多的空间来放更多的UI组件,并且这些组件之间会产生更多的交互。Fragment允许这样的一种设计,而不需要你亲自来管理 viewhierarchy的复杂变化。 通过将activity的布局分散到fragment中, 你可以在运行时修改activity的外观,并在由activity管理的back stack中保存那些变化.(http://developer.android.com/guide/topics/fundamentals/fragments.html)
全栈程序员站长
2022/07/20
7090
android之Fragment(官网资料翻译)[通俗易懂]
Android应用界面开发——Fragment(实现图书详情界面)
Fragment代表了Activity的子模块,因此可以把Fragment理解成Activity片段。
trampcr
2018/09/28
2.7K0
Android应用界面开发——Fragment(实现图书详情界面)
安卓开发_浅谈Fragment之事务添加Fragment对象
我们都知道给一个activity动态添加fragment的时候 有下面几种添加方式 看一下布局文件 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="mat
听着music睡
2018/05/18
8050
札记:Fragment基础
Fragment概述 在Fragment出现之前,Activity是app中界面的基本组成单位,值得一提的是,作为四大组件之一,它是需要“注册”的。组件的特性使得一个Activity可以在整个app甚
用户1172465
2018/01/08
1.3K0
札记:Fragment基础
Fragment详解
##简介 A Fragment is a piece of an application’s user interface or behavior that can be placed in an Activity. Interaction with fragments is done through FragmentManager, which can be obtained via Activity.getFragmentManager() and Fragment.getFragmentManager
xiangzhihong
2018/01/26
1.2K0
再谈Fragment
Fragment 就是一个 Activity 布局的一部分,可以把 Activity 的一部分布局抽离出来到 Fragment 中,并且 Fragment 也可以执行逻辑。就是把 Activity 复杂的内容抽离成几个碎片,然后拼凑起来,在 Activity 布局中,只需要引入各个不同的 Fragment 就可以 了。
开发者
2020/09/24
1K0
3-AVI--Activity与Fragment的数据传递
零、前言 [1].Activity向Fragment传数据 [2].Fragment向Activity传数据 [3].Fragment向Fragment传数据 一、Activity向Frag
张风捷特烈
2018/09/26
7870
[android] 用fragment创建一个选项卡
调用四个TextView对象的setOnClickListener()方法,设置点击事件,参数:this
唯一Chat
2019/09/10
7280
Android高频面试专题 - 基础篇(二)Fragment
Fragment是Activity中用户界面的一个行为或者是一部分。主要是支持在大屏幕上动态和更为灵活的去组合或是交换UI组件,通过将Activity的布局分割成若干个Fragment,可以在运行时编辑Activity的呈现,并且那些变化会被保存在由Activity管理的后台栈里面。
Android扫地僧
2020/03/19
1.5K0
Android高频面试专题 - 基础篇(二)Fragment
android-fragment
建立LeftFragment 继承Fragment v4包 重写onCreateView方法
tea9
2022/07/16
7800
android-fragment
Fragment回退栈及弹出方法
在上一期分享的文章末尾留了一个课后作业,有去思考如何解决吗?如果已经会了那么恭喜你,如果还不会也没关系,本期一起来学习。 一、回退栈 在前面两期的示例中,当我们完成一些操作后,如果想要回到操
分享达人秀
2018/02/05
4.6K1
Fragment回退栈及弹出方法
Android技能树 — Fragment总体小结
因为最近的APP开发,使用的是单Activity + 多Fragment的方式,不同于以前基本界面都是Activity的方式,所以Fragment用了很多,想到自己以前也写了很多相关的基础知识,Fragment却从来没有写过,所以就打算补上一篇fragment的基础总结。
青蛙要fly
2019/08/20
1.2K0
Android技能树 — Fragment总体小结
Fragment基本使用
Fragment是一种可以嵌入在活动中的UI片段,能够让程序更加合理和充分地利用大屏幕的空间,出现的初衷是为了适应大屏幕的平板电脑,可以将其看成一个小型Activity,又称作Activity片段。
233333
2021/04/20
2.1K0
Fragment基本使用
Android开发之奇怪的Fragment
说起Android中的Fragment,在使用的时候稍加注意,就会发现存在以下两种: v4包中的兼容Fragment,android.support.v4.app.Fragment 普通的Fragment,android.app.Fragment 这两种Fragment在使用过程中千万不要来回串,否则会出现莫名其妙的错误 </br> 一、不同版本的使用规则 1、3.0以上:xml中可以直接引用<fragment>,这个是android.app.Fragment,在host Activity中可以使用ge
YungFan
2018/04/24
8300
Fragment初识
Android 在 Android 3.0(API 11 级)中引入了Fragment,主要是为了给大屏幕(如平板电脑)上更加动态和灵活的 UI 设计提供支持。由于平板电脑的屏幕比手机屏幕大得多,因此可用于组合和交换 UI 组件的空间更大。利用片段实现此类设计时,您无需管理对视图层次结构的复杂更改。 通过将 Activity 布局分成片段,您可以在运行时修改 Activity 的外观,并在由 Activity 管理的返回栈中保留这些更改。
小小工匠
2021/08/16
1.3K0
android FragmentManager 删除所有Fragment 重建
FragmentManager 是 Android 中用于管理 Fragment 的组件,它是 Fragment 生命周期和后退栈操作的核心。FragmentManager 允许开发者添加、移除、替换和找到 Fragment 实例,同时处理 Fragment 之间的交互和事务。
七条猫
2024/08/17
1920
相关推荐
Android入门教程 | Fragment (加载方法与通信)
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档