如何防止Activity重新创建片段

美津

FragmentPagerAdapter用来ListFragmentOnCreate()我的主要Application类中显示。简单地:

    viewPager = (ViewPager) findViewById(R.id.viewpager);


    ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
    adapter.addFragment(new TripListFragment(), "Reissulista");
    viewPager.setAdapter(adapter);

    tabLayout = (TabLayout) findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(viewPager);

ViewPagerAdapter有点扩展FragmentPagerAdapterTripListFragment是一个ListFragment

这可以正常工作,但是如果应用程序长时间背在后面而被破坏,则该应用程序在重新打开时崩溃。ListFragment访问直接从主Activity中访问一些数据,并且该数据尚未加载。但是,在将片段添加到中的适配器之前,已加载数据OnCreate

我已经发现问题是我super.OnCreate()试图在其余部分OnCreate完成之前从内存中重建片段

问题是,如何防止OnCreate超级方法重新创建我的东西,而让我以正确的方式来做。那我应该吗?ListFragment保留所需的数据是否更合适但是,如果这样做,创建新片段时,是否不会在内存中的某个地方出现重复的片段?

美津

我所做的是更改了ViewPagerAdapter实现,这样就不会在每个oncreate上重新制作这些片段。以前我有一个基于列表的实现,现在我依赖于更常见的实现,其中片段是在getItem()上制作的(如果尚不存在)。

只需在数据创建后移动super.oncreate()即可解决片段的数据之前重新创建片段的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何重新创建片段?

来自分类Dev

如何在ViewPager中重新创建片段

来自分类Dev

如何在ViewPager中重新创建片段

来自分类Dev

如何在viewpager中重新创建片段?

来自分类Dev

重新创建已创建的片段?

来自分类Dev

如何防止.setDisplayHomeAsUpEnabled重新创建父活动?

来自分类Dev

防止重新创建或覆盖文件

来自分类Dev

重新启动后如何防止重新创建“标准文件夹”?

来自分类Dev

如何重新创建以前的活动?

来自分类Dev

SQLAlchemy:如何重新创建表

来自分类Dev

WPF:如何重新创建 ItemContainer?

来自分类Dev

Android:如何在片段中重新创建(或刷新)GridView

来自分类Dev

如何避免将片段重新创建到ViewPager中?

来自分类Dev

使用ViewModel重新创建片段时如何进行一次获取操作

来自分类Dev

重新创建活动时(例如旋转时)如何跟踪ViewPager的选定片段

来自分类Dev

FragmentPagerAdapter无法处理片段的重新创建

来自分类Dev

在配置更改时重新创建片段

来自分类Dev

片段重新创建后,ViewModel不会保留数据

来自分类Dev

避免使用哈希图进行片段重新创建

来自分类Dev

重新创建活动后,片段重叠

来自分类Dev

片段重新创建两次

来自分类Dev

重新创建片段后显示异步任务结果

来自分类Dev

无需重新创建即可更改片段

来自分类Dev

ExoPlayer 在片段中旋转屏幕后重新创建

来自分类Dev

部署dacpac时,如何防止SqlPackage.exe删除并重新创建约束?

来自分类Dev

防止在每次提交表单时重新创建数组

来自分类Dev

Android在finish()上重新创建Activity

来自分类Dev

如何在两个片段之间切换,而不必每次都重新创建片段?

来自分类Dev

我想还原片段或在重新回到片段时不重新创建它

Related 相关文章

热门标签

归档