fragment-lifecycle相关内容

使用导航图范围注入视图模型:在 onCreate() 之前 NavController 不可用

我在我的应用程序中使用了导航组件,并且还在同一图中的多个片段之间使用了共享 ViewModel.现在我想用 this 用这个图范围实例化 ViewModel. 如您所知,在片段 我们应该在 onAttach: 但是当我想这样做时(在 onAttach 中注入具有图形范围的 ViewModel),就会出现这个错误: IllegalStateException: NavControlle ..

在旋转和返回时恢复 MapView 的状态

背景 我有一个更大的应用程序,其中新的 Google Maps API 遇到/遇到了几个问题.我试图在另一个问题中描述它由于看起来太复杂,我决定开始一个新项目,尽可能简单并尝试重现问题.所以就是这里了. 情况 我正在使用 Fragments 并且想把 MapView 放在里面.我不想使用 MapFragment.我准备的示例项目可能不是很漂亮,但我试图让它尽可能简单,并且它必须包 ..

什么时候调用onResume()而不先调用onStart()(片段生命周期)

onStart()是该片段可见的时间, onResume()是该片段变为交互式的时间.因此,何时 onResume()-> onPause()-> onResume()循环何时执行而无需执行包含在内的 onStart()-> onStop()循环? 就片段过渡而言,替换将破坏起始片段,调用其片段onPause()-> onStop()以及其他破坏相关生命周期的片段方法.如果过渡已替换,但将起 ..
发布时间:2021-04-04 19:27:58 移动开发

导航组件可防止在按回时重新创建片段

我在项目中使用Jetpack导航组件,但只有一个活动和一些片段. 我有一个片段,其中包含一个从服务器端填充的列表.我在onViewCreated方法上调用getDataFromServer,然后,当用户单击某个项目时,将显示一个新片段. 问题是,当我按下“后退"按钮时,onViewCreated在列表片段中再次被调用. 那么,如何防止再次创建我的第一个片段?我不要不必要的onVi ..

在哪里还原ViewPager内部的片段状态

短版: 我有一个带有ViewPager的活动. ViewPager内部有三个片段.我通过实现Parcelable将数据存储在片段内部,并将其存储在包中. 现在的问题是我应该在哪里恢复数据.我很困惑,因为(据我所知)每次旋转屏幕时ViewPager都会创建片段的新实例. (创建一个新的活动->新的ViewPager->新的片段).如果我错了,请纠正我. 长版: MainAct ..

在导航图范围内注入viewmodel:在onCreate()之前NavController不可用

我在我的应用程序中使用了导航组件,并且还在同一图中的多个片段之间使用了共享的ViewModel.现在,我要使用此. 如您所知,在片段中我们应该在onAttach : 但是当我要执行此操作时(将ViewModel和一个图范围注入到onAttach中),就会发生此错误: IllegalStateException: NavController is not available bef ..

RecyclerView不会在片段内进行权限检查后的首次启动时加载数据

在进行权限检查之后,RecyclerView适配器在第一次启动时不会加载数据.我必须重新点击标签才能获取数据. 我已经访问/尝试了这些链接- - RecyclerView在首次启动时不会加载数据使用FirebaseRecyclerAdapter - RecyclerView在首次启动时不会加载项目活动 - recyclerview未在片段中加载适配器值 但是什么都没有 ..

将onActivityResult()数据传递到尚未准备好的同一Fragment

我正在使用Fragment使用startActivityForResult()启动新的Activity,我在onActivityResult()方法中获得了结果(Bundle).由于onActivityResult()在onResume(之前被调用).我想确保正确保存/保存Bundle,以便在调用Fragment's onResume()时获得保存/保存的结果以执行进一步的操作. 有哪些不同 ..
发布时间:2020-08-27 07:02:32 移动开发

在旋转和背面还原MapView的状态

背景 我有一个更大的应用程序,其中新的Google Maps API遇到了/遇到了一些问题.我试图在一个不同的问题中对其进行描述,但是由于看起来太复杂了,所以我决定开始一个新项目,尽可能简单,并尝试重现问题.所以就在这里. 情况 我正在使用Fragments,并且想将MapView放入其中.我不想使用MapFragment.我准备的示例项目可能不是很漂亮,但是我尝试使其尽可能简单 ..

onDetach不需要片段吗?

我编写了将Activity A启动到Activity B的代码.ActivityA和B都有片段实现. 方案:如果活动A频繁启动包含片段的活动B,那么大多数情况下它会错过Fragment.onDetach ..我用log进行检查,通常它会给我以下重写方法日志: onAttach 列表项 OnCreatView onViewCreate,然后按设备的“后退"按钮 onPause ..

片段的生命周期如何在viewpager中工作?为什么导航更改时不调用onStop?

我正在将AndroidX中的ViewPager 2与4个相同片段的实例一起使用.我的问题很简单.当我导航到另一个片段时(使用导航抽屉或什至其他东西). viewpager中的片段的OnStop(),OnDestroy(),OnDettach()不会被触发.那为什么呢?而且,如果我想删除已经开始的监听器,可以使用其中一种方法来做到这一点? 例如,我正在使用GreenRobot的EventBus ..

在ListFragment内的适配器上调用notifyDataSetChanged()会导致NullPointerException?

简介: 我进行了以下设置: 使用方法 onNewIntent 和 processNewIntent 的 MainActivity MainActivity 还实现了 FragmentActivity ;并具有实现了 FragmentList A listaddactivity 的选项卡式片段c $ c>活动,该活动创建一个新的 Parcelable listControlObje ..

功放加之间的差异();替换()与片段的生命周期

我的计划有6个片段:片段1,Fragment2,....-> Fragment6 我使用add()和replace()语句和片段之间切换,跟踪他们的生命周期。 片段1的添加 Fragment2的添加 Fragment3的添加 Fragment4的添加 Fragment5的替换 Fragment6 日志-猫显示出其生命周期(我在的onCreate,onCreateView,onDestroyV ..
发布时间:2016-03-25 10:17:36 移动开发

抛出:IllegalArgumentException奥托事件总线片段实例

我使用的奥托事件总线订阅的ListFragment某些事件。总线实例被存储并创建在应用的一个子类,换句话说,它应总线工作作为一个单。看起来这是不是个例...... 该片段注册到总线 onActivityCreated(捆绑)和注销的的onDestroy()。这不,因为它应该工作。我从设备得到了一些崩溃报告,其中呼吁时,取消注册应用程序崩溃()(java.lang.IllegalArgumentE ..