Fragment的使用

【背上Jetpack之Fragment】你真的会用Fragment吗?Fragment常见问题以及androidx下Fragment的使用新姿势 在 Android Jetpack 组件中,fragment作为视图控制器之一占有很重要的位置。但由于其bug众多,暗坑无数,以至于 Square 有这样一篇博客:Advocating Against Android Fragments。github上的 Fragmentation 有着 9.4k 的star。 而现在,androidx fragment 稳定版已来到 1.2.2,让我们总结一下... 阅读详情
一、Android是在Android 3.0 (API level 11)开始引入Fragment的。

  可以把Fragment想成Activity中的模块,这个模块有自己的布局,有自己的生命周期,单独处理自己的输入,在Activity运行的时候可以加载或者移除Fragment模块。

  可以把Fragment设计成可以在多个Activity中复用的模块。

  当开发的应用程序同时适用于平板电脑和手机时,可以利用Fragment实现灵活的布局,改善用户体验。

二、使用Fragment时,需要继承Fragment或者Fragment的子类(DialogFragment, ListFragment, PreferenceFragment, WebViewFragment),所以Fragment的代码看起来和Activity的类似。

 

三、提供Fragment的UI,必须实现onCreateView()方法。

  假设Fragment的布局设置写在example_fragment.xml资源文件中,那么onCreateView()方法可以如下写:

  

复制代码
public static class ExampleFragment extends Fragment
{
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
  Bundle savedInstanceState)
    {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.example_fragment, container, false);
    }
}
复制代码

  onCreateView()中container参数代表该Fragment在Activity中的父控件;savedInstanceState提供了上一个实例的数据。

  inflate()方法的三个参数:

  第一个是resource ID,指明了当前的Fragment对应的资源文件;

  第二个参数是父容器控件;

  第三个布尔值参数表明是否连接该布局和其父容器控件,在这里的情况设置为false,因为系统已经插入了这个布局到父控件,设置为true将会产生多余的一个View Group。

四、

使用Fragment 使用FragmentFragment的介绍Fragment的生命周期创建Fragment在Activity中添加Fragment实例——川菜菜谱 Fragment的介绍 Fragment(碎片)是一种嵌入在Activity中的UI片段,它可以用来描述Activity中的一部分布局。如果Activity界面布局中的控件比较多比较复杂,那么Activity管理起来就比较麻烦,我们可以使用Fragment把屏幕划分成几个片段,进行模块化的管理,从而使程序更加合理和充分地利用的空间。 Fragment的生命周期 A 阅读详情

相关推荐

Android Fragment的一些使用细节

作为Android基本组件之一,介绍Android Fragment基本用法的文章已经非常多了,但是Fagment在使用时有很多的细节需要注意。文本主要列举Fragment在使用时需要注意的各种细节。

ccpat的专栏 7602

Android 打开设置中的某个Fragment

打开设置中的Activity是简单的,只需要得到启动该Activity的Intent过滤器即可,但是要启动该Activity中的一个Fragment就不能采取这种方式了。 通过实验,采取了这种方式:先启动Activity,然后在Activity可见的时候立马启动Fragment。以选择时区Fragment为例: 首先启动Activity: case R.id.tim...

qq_32390877的博客 2804

在fragment中使用viewpager+fragment时,fragment页面消失的问题

今天要做一个类似知乎首页的tab切换页面,本来以为很容易,因为以前也写过,不过以前都是在activity中写的,一直没遇到什么问题这次换了fragment作为载体之后发现了一个问题在A fragment中使用TabLayout和viwepager 然后再添加三个fragment进去,相当于A fragment里面的再嵌套三个同级的fragment. 出现了第一次滑动全部正常,来回滑动则只有中间的

皮皮鸡的android博客 3702

上手Fragment

文章目录Fragment的静态注册Fragment的动态注册Fragment生命周期Fragment的常用类和APIFragment 回退栈Fragment与Activity之间的通信Activity传递数据到Fragment(不推荐)Fragment传递数据到Activity参考 Fragment的静态注册 ​ 什么是静态注册,fragment的静态注册就是Activity中的标签属性(activity_main.xml中的fragment标签)和定义的Fragment类在运行之前已经绑定,运行时不在发生

monkeylvjava 348

fragment的文件管理器

自己做的文件管理器android端,用到的技术有fragment,异步加载,数据库

Ecg信号QRS波峰检测:A Real-Time QRS Detection Algorithm (Pan-Tompkins法)

Pan-Tompkins法是R峰检测的经典方法,被引量高达6000+次。 Pan J, Tompkins W J. A real-time QRS detection algorithm[J]. IEEE transactions on biomedical engineering, 1985 (3): 230-236. 本文对论文流程进行了总结,并参考BioSigKit项目,复现了论文代码。 流程图: 代码如下: 第一部分是信号读入,这里使用MIT_BIH信号的100,读入10000个数据点 第二部分

weixin_42870380的博客 1万+

查看当前运行的是哪个Activity或者Fragment

查看当前运行的Activity: 方法一: 在Android Studio 最下方,有个Terminal按钮, 在里面输入adb shell dumpsys activity | findstr "ResumedActivity", 按下回车键即可;(Android Studio 只连接一台设备的情况下) 方法二: 在 PowerShell(点击window键,即Ctrl键的右边的...

dbmonkey的博客 2506

忆阻器(二)——忆阻模拟器

除了真实的器件,我们也可以用运放和乘法器来搭忆阻模拟器。这节将介绍数学模型、matlab仿真及multisim仿真。 一、数学模型 忆阻分为磁控和荷控两种,这里介绍三次非线性磁控忆阻模型: {I=W(φ)VW(φ)=a+3bφ2dφdt=V \begin{cases} I=W(\varphi)V \\ W(\varphi)=a+3b \varphi ^2\\ \frac{d \varphi }{dt}=V \end{cases} ⎩⎪⎨⎪⎧​I=W(φ)VW(φ)=a+3bφ2dtdφ​=V​ 这里的WWW

http://www.icfgblog.com/ 1万+

指定页面进行monkey 测试

指定页面进行monkey 测试

大道至简!testly 1万+

Python | KS检验以及其余非参数检验的实现

Python | KS检验以及其余非参数检验的实现1 什么是KS检验2 KS检验分类?3 KS检验的Python实现3.1 检验指定的数列是否服从正态分布3.2 检验指定的两个数列是否服从相同分布4 其余的非参数检验4.1 Wilcoxon符号秩检验(t检验的非参数版本)4.2 Kruskal-Wallis H检验(方差分析的非参数版本)4.3 Mann-Whitney秩检验5 参考 1 什么是KS检验 定义:检验一个分布f(x)与理论分布g(x)【比如正态分布】是否一致,或两个观测值分布是否有显著差异的检

RUC_Lee的博客 1万+

LaTeX小白必看:5分钟搞定GB/T 7714-2005参考文献格式(Texmaker+BibTeX实战)

本文为LaTeX初学者提供了使用Texmaker编辑器和BibTeX工具链,快速实现GB/T 7714-2005参考文献格式的实战指南。文章详细解析了从获取gbt7714-2005.bst样式文件、编写.bib数据库到四步编译流程的核心步骤,并附有常见问题解决方案,帮助用户高效、准确地完成学术论文的参考文献排版。

weixin_29295541的博客 338

activity中使用Fragment和Fragment中使用Fragment

在Activty中使用Fragment很简单就能实现多个页面的切换。 MianActivity xml代码 <FrameLayout android:id="@+id/id_framelayout2" android:layout_width="match_parent" android:layout_height="match_parent

jia_you1的博客 1364

【HFSS】仿真目录

Author: JiJi\textrm{Author: JiJi}Author: JiJi Created Time: 2026.04.27\textrm{Created Time: 2026.04.27}Created Time: 2026.04.27 Modified Time: 2026.04.27\textrm{Modified Time: 2026.04.27}Modified Time: 2026.04.27如果大家觉得有用,就点个赞吧,在阅读过程中存在任何困惑,可在下方评论区留言~

u011699626的博客 310

activity嵌套fragment,fragment内嵌fragment之间传值切换fragment

至于fragment的用法,fragment+viewpager的滑动切换代码请参考博文 Android基础:翻页控件Viewpager的使用方法,viewpager+fragment混合使用 fragment与Activity 当在使用activity嵌套fragment,fragment再嵌套子fragment时,相当于有两层fragment,假设最外层为第一层,其中

fanfan 1万+

DataCastle-租金预测

ID:编号;时间:房屋信息采集的时间;小区名:房屋所在小区,已脱敏处理;小区房屋出租数量:小区出租房屋数量,已脱敏处理;楼层:0、1、2分别表示楼层低,中,高;总层数:房屋所在建筑的总楼层数,已脱敏处理;房屋面积:房屋面积数值,已脱敏处理;房屋朝向:房屋的朝向;居住状态:房屋的居住状态,表示是否已出租或居住中,已脱敏处理;卧室数量:户型信息,数字表示卧室的个数;卫的数量:户型信息,数字表示卫生间的个数;厅的数量:户型信息,数字表示厅的个数;

优快云 精品推荐 3457

ubuntu 安装node和npm

在ubuntu中经常需要用到node ,npm,因为npm基本会和node同时安装,所以只需要安装node即可。可以使用 nvm(Node Version Manager)来管理你的 Node.js 版本。

风吹落叶的博客 2291

Fragment嵌套Fragment

问题1、fragment嵌套fragment不显示问题 通常时候,我们制作底部Tab切换,会用到fragment。即一个Activity下,使用4种fragment。这次遇到的问题是关于fragment再次嵌套fragmen的问题,功能需要在其中一个fragment中再次嵌套frament,使用viewPager嵌套,此时需要注意一点,使用viewpager包裹住子fragment,我们都知道v...

CHZKAL的博客 6780

锂电池SOH估计 | 基于LSTM模型的锂电池SOH估计(Python)

锂电池SOH估计 | 基于LSTM模型的锂电池SOH估计(Python)

前程算法屋的博客 1433

在Android 中Fragment 中嵌套使用Fragment 中使用

1. 前言 这几天接到一个坑的任务,领导要我做一个Android 蓝牙APK,要求是在平板上使用并且横屏分页显示,一边显示蓝牙广播搜索的设备,另一边存放指定已过滤的设备。 在Android中横屏显示,并且分页,自然而然就想到了Fragment,于是抽空学习一下Fragment的用法,并且在使用过程中遇到findFragmentById 返回为null。 今天遇到这...

gd6321374的专栏 7259

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Fragment基本使用

阅读目录 1. Fragment概述 1.1 介绍 1.2 Fragment基本生命周期 2. Fragment使用 2.1 静态加载 2.2 动态加载Fragment 2.3 使用注意点 3. Fragment与Activity联动 3.1 回退栈 4. Fragment与Activity通信 4.1 传递数据给Fragment 4.2 传递数据给Activity 5. Fragment间通信 5.1 setArguments() 5.2 同Activi

chuyouyinghe的专栏 4985

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

【Android】Fragment使用

使用Fragment 我们可以把页面结构划分成几块,每块使用一个Fragment来管理。这样我们可以更加方便的在运行过程中动态地更新Activity中的用户界面,日后迭代更新、维护也是更加方便。,尽管他拥有自己的生命周期,但是还是会受到宿主Activity的生命周期的影响,比如Activity 被destory销毁了,他也会跟着销毁!一个Activity可以嵌套多个Fragment。

liudongdong_jlu 4478

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

在fragment中使用viewpager嵌套fragment

步骤: 1、在Activity布局文件中定义framelayout用于添加Fragment 2、创建两个Fragment用于切换 3、获取Fragment管理器,并开启事物FragmentTransaction 4、通FragmentTransaction.add(resource id, fragment)将fragment添加到布局上,提交事物commit 5、通FragmentTransaction. replace(resource id, fragment)切换显示的fragment,提交事物co

xiaokangss的博客 1975

android fragment listview,【Android】在Fragment中使用ListView

今天遇到在搬之前代码的时候,需要将我写在一个活动中的ListView写到Fragment中,但是,在我要搬完的时候,我的LayoutInflater出问题了,一、自己所遇到的问题的分析过程因为自己刚开始用的自定义Adapter,所以建了一个类去继承BaseAdAapter,并重写了四个方法,其中getView中的代码@Overridepublic View getView(int position...

weixin_34554800的博客 2367

fragment 使用

为一个activity添加一fragment  有两种方法,一种是直接使用指定的fragment 为加载.另一种是使用容器为添加,为其指定一个root,这个到时候直接替换  这个两种都需要FragmentTransaction来管理fragment和操作 第一种方法的操作:使用getFragmentManager().findFragmentById(R.id.fragment1)); 并用

n141617的专栏 1108

Android开发—Fragment使用

Fragment是应用界面中可以重复使用的一部分,可以定义自己的布局、管理自己的生命周期以及处理自己的输入事件。Fragment不能独立存在,必须由Activity或者另一个Fragment托管。

clearend的博客 2716

Fragment使用

1:如何在一个activity中添加fragment 2:如何动态的添加fragment 3:fragment与activity之间的通信 4:fragment的生命周期 1:一个完整的fragment需要有xml文件和java文件 xml文件自己随便加点东西就可以(它与一般的xml文件没啥两样); java文件需要继承Fragment如下图: 继承Fragment之后重写它的onCreateVi...

qq_38287890的博客 6981
上一篇: Android基础知识总结
下一篇: PopupWindow的使用
ProgrammerMonkey
博客等级 码龄12年 1粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值