簡體   English   中英

當我的應用程序被多次最小化時,不會調用 Fragment onPause()

[英]Fragment onPause() is not called when my app is minimized multiple times

我在ViewPager有片段。 當我最小化應用程序時,它會在ViewPager內的 Fragment 上調用onPause() ,然后當我恢復應用程序時,它會調用onResume() 但是當我再次最小化它時,不再調用onPause()
你有什么想法嗎?

我想我已經找到了問題的原因。 在 Parent Fragment 的onStop()上,他們放了這段代碼:

try {
        Field childFragmentManager = Fragment.class
                .getDeclaredField("mChildFragmentManager");
        childFragmentManager.setAccessible(true);
        childFragmentManager.set(this, null);
    } catch (NoSuchFieldException e) {
        throw new RuntimeException(e);
    } catch (IllegalAccessException e) {
        throw new RuntimeException(e);
    }

我不知道這樣做的目的,但它似乎是支持嵌套片段的錯誤的解決方法。 在 ViewPager 中使用選項卡時出現錯誤“Java.lang.IllegalStateException Activity has been destroyed”

在上面的鏈接中,它建議在onDetach()上添加此代碼。 但似乎他們錯誤地將它放在onStop()

當我將上面的代碼轉移到onDetach() ,現在子片段的生命周期沒有問題。

這很可怕,因為我只是在支持這個項目,而我並不是最初創建它的人。 我只希望這不會有任何副作用。 非常感謝所有給出答案/建議的人。 我很感激。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM