问题标签 [fragment-lifecycle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
689 浏览

android - Android 在片段替换时终止服务(替换片段的生命周期)

在我的应用程序中,我使用媒体播放器服务。当我调用替换片段时,我想终止该服务。查看 Stackoverflow 和 Androids 网站上的答案,我还没有看到直接的答案。一旦调用了替换片段,就会调用片段生命周期的哪些部分。

我尝试了 onDestroy 和 onDetach 并且这些都没有被调用。放在哪里合适?

谢谢

0 投票
0 回答
971 浏览

android - restart_activity(生命周期)上的Android应用异常

我正在开发一个简单的应用程序,但我遇到了一个错误,我不太确定为什么会发生这个错误。

我正在玩游戏,然后退出游戏。我的应用程序必须在后台,因为游戏一结束它就给我一个错误。

在我的手机发生错误后,我立即记录了一个事件日志。如下(com.myapp 是我的应用程序):

游戏结束:

我的应用程序获得焦点:

我的应用活动重启:

空指针异常 :

澄清 NullPointerException :

我有一个活动(MainActivity)

方法。

此方法在 MainActivity.onCreate() 中调用。

每当用户在应用程序中导航时,都会调用此方法来替换当前显示的片段。这样做时,它将“FieldHolder”类实例注入到片段中。

退出游戏后,Android 显然尝试使用 ThirdFragment 作为当前显示的片段重新启动我的应用程序。

但是在上面的错误中,ThirdFragment 没有得到FieldHolder 类实例,也就是说Android 系统没有在am_restart_activity 上调用MainActivity 的replaceFragment(..) 方法。

我怎样才能防止这个错误?

注意:我猜我必须重写 MainActivity 中的 onResume 方法并在其中调用 replaceFragment(..) 但我怎么知道要显示哪个 Fragment?(在这种情况下是 ThirdActivity ?)

0 投票
0 回答
513 浏览

android - 使用 ViewPager 的 Fragment 生命周期

ViewPagerAdapter 是FragmentStatePagerAdapter

FragmentItem: 填充 viewpager 的 FragmentWithVP片段 : 具有 viewPager 的片段。该片段包含在MainActivity

我想,onCreateViewviewPager 片段的 ieFragmentItem会在调用时onCreateView调用FragmentWithVP。但显然它返回并且它的onStartonResume被调用。

  1. 那么,如何ViewPager填充的项目?

  2. 又是怎么叫onStart的呢?FragmentWithVPMainActivity

  3. 此外,如果一个fragment包含嵌套fragemnts,它们的生命周期方法是如何交织在一起的?

MainActivity.java

FragmentWithVP.java

片段项.java

我的适配器.java

0 投票
1 回答
510 浏览

android - OndestroyView 是如何调用的?

假设我有一个并且我已经从后台线程Fragment在 UI 上发布了一个可在调用之前修改的可运行文件。handlerFragmentonDestroyViewFragment

runnable是否保证在onDestroyView将被调用或可以onDestroyViewrunnable有机会执行之前调用发布的帖子?

0 投票
1 回答
601 浏览

android - When in a support Fragment lifecycle do all view(s) actually get displayed on the screen?

I have an Activity that displays various fragments using the supportFragmentManager. When I attempt to get a view in the fragment or the parent activity for that matter, and attempt to measure it's position on the screen it only seems to be available for measurement sometime after onResume in the fragment lifecycle or after onActivityCreated/onResume/onAttachedToWindow in the Activity. Typically it is available after about 100-200ms. Is there any lifecycle event documented/undocumented or solid method of knowing when this has occurred, like maybe a canvas drawing event. The fragment in question needs to measure a parent activity view, but it isn't always available in onResume right away. I really hate having to do some kind of hack like having a handler wait 200ms.

0 投票
1 回答
360 浏览

android - 在 onCreate 上传递给 Activity 和 Child Fragment 的 Bundle 是否不同?

是否将私有副本Bundle传递给Fragment父级Activity

我尝试在 Activity 中保存键、值对onSaveInstanceStateFragment尝试在onCreateActivity 中检索它。它在那里不存在。

但两者之间似乎也有联系。当我null传给super.onCreate的传给Activity的也是。BundleFragmentonCreatenull

0 投票
1 回答
185 浏览

android - 旋转屏幕或最小化应用程序时碎片崩溃

我要从第一个片段到第二个片段。当我在第二个片段上旋转或最小化屏幕时,应用程序崩溃。早些时候,当我用来最小化应用程序第一个片段被调用时(不知道为什么),现在它的崩溃是代码:

这是我的日志:

这是我的完整主要活动代码:

感谢帮助 :)

0 投票
2 回答
43 浏览

android - Android 活动生命周期方法实现

我已经构建了一个带有 Home Activity 和 Activity Drawer 以及一些片段选项卡的简单应用程序,我不明白的是如何使应用程序从最后一个活动或片段恢复,因为用户单击了他手机上的返回按钮!

我知道这是关于 onPause 和 onResume 的,但我不明白如何在我的代码上实现这些方法!

0 投票
2 回答
7742 浏览

java - 片段中未调用 onMapReady

我正在构建一个与谷歌地图相关的应用程序。在这个我试图在片段中实现地图。我在 OnMapReady 方法中操作地图。但是应用程序没有调用 OnMapReady 方法。我在活动中实现了同样的事情并且它的工作完美。但它不能在片段中工作。我不知道它是否是片段生命周期的问题,我错过了一些东西。这是代码。

Maps_Fragment.java

Maps_Fragment.xml

在活动的情况下,相同的方法和要求工作正常,但在片段的情况下出现问题。请帮忙。

0 投票
3 回答
120 浏览

android - Viewpager 的并发症

我正在使用 ViewPager 并有 3 个片段。

我知道第一次加载 ViewPager 时默认加载所有片段,

最小值为 3 个片段,viewpager 执行片段的所有生命周期方法。

我注意到的问题:

  • 每当我滑动 viewpager 时,所选片段不会再次调用其任何生命周期方法。

  • 因此我无法直接访问全局变量。

    例如:如果我在 OnCreateView() 中初始化了一个首选项,当我尝试通过初始化该片段的实例并调用该片段中的方法从活动中访问它时,我得到了 NPE。

  • 在第一次加载后,甚至不会调用任何片段的 onResume。

我想知道的:

  • 在 onCreateView() 中初始化视图和首选项后,如何访问它们?

  • 但是对于在 onCreateView() 中初始化的按钮,单击它会调用 Web 服务并按照我的意愿完美运行。如何?

在过去的 3 天里,我一直在解决这些问题,并用谷歌搜索了很多,但没有找到我的答案。

任何帮助将不胜感激。

片段代码: