首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

动态创建Fragment

动态创建fragment的流程 1.0 新建一个类继承fragment. 2.0 在自定义的fragment里面复写oncreateVIew的方法 3.0 在onCreateVIew的方法里使用inflate...对象 6.0 通过fragment管理对象,开启事务 7.0 使用事务对象,调用replace方法,替换fragment,是动态使用fragment精华 8.0 使用事务对象进行提交....动态创建fragment的流程可以兼容低版本的安卓系统 1.0 导入包一律都是V4包下的 2.0 关于你们要使用到fragment的activity,一定要继承fragmentActivity 3.0...第八步,使用事务对象提交commit v4兼容包下的fragment使用(现在开发基本不用了) 1.0 自定义fragment类里继承v4包下的fragment.记住所有用到fragment地方导入包必须一致...然后根据swich开始编写Fragment.这里有七个Fragment,每个Fragment里面代码内容相似就用一个做代表.

2.3K10

fragment的动态创建

无需在清单文件中配置,轻量级的activity,在所属的activity布局文件中进行配置 在布局文件中使用fragment控件 添加节点,设置名称是fragment指向的类全路径...其他属性和别的控件一样 新建一个类Fragment1继承系统的Fragment类,此时会报错误,是因为,我们兼容的android系统最低版本是8,fragment是11版本才引入的,可以先把兼容版本改成...11 重写onCreateView()方法,当fragment创建的时候回调的方法,返回当前的View对象,传递进来一个LayoutInflate对象, 调用LayoutInflate对象的inflate...,右边fragment的内容随之变化,用户体验更好 动态创建 实现,当用户竖着拿手机显示一个界面,当横着拿时显示另外一个界面 判断当前手机的朝向,通过屏幕的宽度和高度的对比来实现 调用getWindowManager...和Fragment2类,继承系统的Fragment类 获取Fragment对象,通过new出来 获取FragmentManager对象,通过getFragmentManager()方法 调用FragmentManager

2.1K40
您找到你想要的搜索结果了吗?
是的
没有找到

Navigation问题详解——Fragment创建新的实例

之后,也在尝试使用Navigation,但是使用的过程当中遇到了问题: 每次进入下一个Fragment不管任务栈里是否存在该Fragment的实例,都会创建一个新的实例而不会复用。...这样就会出现一个问题,可能我们之前的OneFragment保存一些状态或者数据,当我们跳转OneFragment的时候,因为创建新的实例导致我们之前保存状态或者数据全部消失。...implementation "android.arch.navigation:navigation-ui-ktx:$nav_version" // use -ktx for Kotlin 2.这样我们在Fragment...navigate(R.id.action_oneFragment_to_twoFragment) 注意这里,引用的findNavController包为: import androidx.navigation.fragment.findNavController...但是,我们的问题依旧存在,每次点击的时候依然会创建一个新的Fragment,一个新的实例,只是我们在创建新的实例的时候,把之前的给清除了而已。 我会在下一篇文章介绍如何解决这个问题!

1.8K20

fragment创建一个选项卡

界面布局,线性布局,水平排列,平均居中分布 四个TextView,宽度为0dip,权重都是1,内容居中显示 主体内容部分使用LinearLayout控件,设置id 新建四个Fragment选项类,继承系统的...Fragment类 重写onCreateView()方法,返回一个View对象 新建四个布局文件,显示选项卡对应的内容 在activity中 获取LinearLayout对象,通过findViewById...FragmentManager对象的beginTransaction()方法,开启事务,获得FragmentTransaction对象 调用FragmentTransaction对象的replace()方法,用Fragment...替换当前界面,参数:containerViewId,第一个Fragment对象 containerViewId是容器的id,就是我们定义的内容主体的id 调用FragmentTransaction对象的...(); fm2 = new Fragment2(); fm3 = new Fragment3(); tv1.setOnClickListener(this

69230

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

至于fragment的用法,fragment+viewpager的滑动切换代码请参考博文 Android基础:翻页控件Viewpager的使用方法,viewpager+fragment混合使用 fragment...与Activity 当在使用activity嵌套fragmentfragment再嵌套子fragment时,相当于有两层fragment,假设最外层为第一层,其中一个Fragment为ParentfragmentA...,该ParentFragmentA中又嵌套了三个fragment,也就是说第二层为ChildFragment1,ChildFragment2,ChildFragment3,如果想在其中一个子fragment...中的控件点击切换到同一层的另一个子fragment 如图,在第二层fragment中,child1fragment中有两个控件viewI和viewII,点击viewI可以切换到同一层的fragment...是另一个fragment的子fragment,则获取到的是父fragment的manager getChildFragmentManager方法:获取到外层fragment的子fragment的manager

1K11

Android Fragment用法之给Activity创建事件回调

在某些案例中,可能需要Fragment与Activity共享事件。在Fragment内部定义一个回调接口是一个好方法,并且规定由持有它的Activity实现这个回调方法。...例如,如果一个音乐播放器的应用程序在一个Activity中有两个Fragment—一个用来显示歌曲列表(Fragment A),另一个用来显示歌曲信息(Fragment B),然后在列表项目被选中时Fragment...A必须告诉Activity,以便它能告诉Fragment B显示对应的歌曲信息。...的Activity要实现onMp3ChangedListener接口,并且要重写onMp3Changed()方法把来自Fragment A的事件通知给Fragment B。...要确保持有Fragment的Activity实现这个接口, Fragment A 的onAttach()回调方法(当Fragment被添加到Activity时系统调用这个方法)通过类型转换onAttach

49010

【Android基础】Fragment 详解之Fragment介绍

Fragment可以看作是嵌套的Activity,类似ActivityGroup,但是开销肯定没有ActivityGroup那么大,每一个Fragment管理着一个View,Fragment彼此之间相互独立...Fragment可以用来解决屏幕适配和动态创建View的问题。 一个Fragment总是嵌入到一个Activity,是一个模块化的View,它的生命周期受它所嵌入的Activity生命周期的的影响。...然后当Activty进入运行状态onResume后,你可以独立的管理每一个Fragment,可以add一个Fragment,也可以remove一个Fragment。...在你执行一个Fragment事务的时候(创建并且显示出来),你可以把这个Fragment放到Fragment回退栈中,这个回退栈记录了所有你执行过的Fragment事务,用户在点击返回键的时候可以从Fragment...onCreat(): 系统调用这个函数来创建Fragment,这个方法中用来创建整个Fragment周期中都会用到的资源,比如在paused、stoped,或者resumed方法中用到的资源。

1.2K80

再谈Fragment

Fragment 就是一个 Activity 布局的一部分,可以把 Activity 的一部分布局抽离出来到 Fragment 中,并且 Fragment 也可以执行逻辑。...如果用 Fragment 就灵活多了,Activity 只需要根据导航显示对应的 Fragment 就可以了。 如果别的地方需要某一个模块,直接拿出对应的 Fragment 就可以了。...Fragment 相关的三个类 Fragment 具体的 Fragment FragmentManager 是管理 Fragment 的 FragmentTransaction 通过事务来进行添加 Fragment...、隐藏、移除 等操作 Fragment 动作,事务保证了原子性 主要方法 transaction.add() 向 Activity 中添加 Fragment,只是添加 Fragment,不影响之前 Fragment..." /> 在代码中获取的这个 Fragment 通过 Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.fragment

99320

Fragment基本使用

onCreate():Fragment创建时调用 onActivityCreated():当Activity完成onCreate()时调用 onStart():当Fragment可见时调用。...在介绍Fragment的具体使用时,先介绍一下Fragment的几个核心类 FragmentFragment的基类,任何创建Fragment都需要继承该类 FragmentManager:管理和维护...如果在创建Fragment时要传入参数,必须要通过setArguments(Bundle bundle)方式添加,而不建议通过为Fragment添加带参数的构造函数,因为通过setArguments()...4.1 传递数据给Fragment 步骤流程: 在Activity中创建Bundle数据包,调用Fragment实例的setArguments(),将Bundle数据包传给Fragment Fragment...调用getArguments()获得Bundle对象,然后进行解析就可以 简单示例: //创建Fragment对象,并通过Bundle对象传递值(在onCreate方法中) MyFragment fragment

1.9K30
领券