Nested fragment lifecycle
Asked Answered
V

2

6

I have 4 fragments. I switch among them by using hide/show transactions. One of them may have nested fragments which are added by replace transaction. The issue is that if I add a nested fragment hide main fragment and show it again the onHiddenChanged method of my nested fragment is not called. Why so? How can I determine when my nested fragment become visible?

Veil answered 10/12, 2013 at 10:48 Comment(0)
N
4

I also came across the problem you are facing.

I found that hiding/showing a parent fragment had no effect on the child fragments' visible states, and wouldn't call onHiddenChanged() and would return isVisible() = true always.

See my answer in another question for my workaround.

Basically I created my own getIsVisible() function on a BaseFragment which recursively looks through any parents to find it's actual visible state. I am sure you could do something similar with onHiddenChanged() by propagating it to all the child fragments.

I know this is old, but maybe someone could benefit from this knowledge :)

Niggling answered 14/6, 2014 at 12:19 Comment(0)
A
-4

For inner fragments, use getChildFragmentManager().


Amadou answered 10/12, 2013 at 10:53 Comment(1)
And where is the answer here?Veil

© 2022 - 2024 — McMap. All rights reserved.