首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

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

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

94511

Fragment

区别 二、Fragment的生命周期 三、Fragment的通信 四、Fragment的replace、add、remove 五、Fragment的管理器FragmentManager 一、Fragment...为何被称为第5大组件 1、为何称为第5组件 1)、fragment具有生命周期 2)、fragment比activity更节省内存,ui的切换效果也更加的舒适; 3)、但是fragment必须依附于...三、Fragment的通信 四、Fragment的replace、add、remove 1、add()是将Fragment实例添加到activity的Fragment队列的最上层 2、remove(...)是将Fragment实例从到activity的Fragment队列中删除 3、replace:内部线remove(实例会被回收掉)然后再add,会始终保持fragment栈中只有一个fragment...因为,detach不会回收fragment,但是会回收fragment中的view。atach会将fragment中的view重新创建。既不剩内存,也不提高性能。

65120

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

Fragment可以看作是嵌套的Activity,类似ActivityGroup,但是开销肯定没有ActivityGroup那么大,每一个Fragment管理着一个View,Fragment彼此之间相互独立...然后当Activty进入运行状态onResume后,你可以独立的管理每一个Fragment,可以add一个Fragment,也可以remove一个Fragment。...在你执行一个Fragment事务的时候(创建并且显示出来),你可以把这个Fragment放到Fragment回退栈中,这个回退栈记录了所有你执行过的Fragment事务,用户在点击返回键的时候可以从Fragment...Fragment的生命周期: 如果你很清楚Activity的生命周期那么Fragment的生命周期就很容易理解,在Fragment中有很多类似Activity生命周期函数的回调方法,这些方法由Android...onCreateView(): 当Fragment需要第一次绘制用户界面的时候系统调用这个函数完成UI的绘制,你必须在这个函数返回一个View,这个View是Fragment的根View,如果你不想Fragment

1.2K80

你真的会用Fragment了么?-Fragment解析

我们可以唉Activity中随意的使用Fragment,当你的一个界面业务逻辑很复杂的时候,我们可以将逻辑写到Fragment中,这样就不必在Activity写一堆控件的事件处理的代码了,Fragment...Fragment生命周期 Fragment生命周期和Activity生命周期类似,只是比Activity多了几个回调方法而已。...Fragment使用 Fragment使用分为两种:静态和动态 静态使用Fragment 所谓静态使用指的就是将自定义的Fragment写到xml布局文件中,利用</fragment...动态使用Fragment 动态使用Fragment就是手动在代码中添加、更新、删除Fragment。...下面我们来看一下在使用Fragment时遇到的那些坑吧: 对于FragmentManager我们应该知道它的作用,它用来维护Fragment队列,以及Fragment事务的回退栈。

1.4K10
领券