-2

我在另一個片段A的頂部上添加B片段如下:當我點擊設備時,將會調用什麼事件的片段?

fragmentManager.beginTransaction().add(R.id.frame_container, fragment).addToBackStack("post_details").commit(); 

的問題是,當我點擊設備回B,我需要A. 錨哪個生命週期方法會在這種情況下調用?

+1

谷歌搜索在這裏指出了對類似問題的回答。不,我不會提供鏈接作爲SO ** IS NOT **人類搜索引擎。 – Selvin

回答

2

這取決於您使用的事務類型以及是否將片段添加到後退堆棧。讓我們通過假設你B添加到堆棧中,你的活動不經過任何生命週期事件去的情景:

  • 添加 - >添加B + addToBackstack - > popBackStack

    在這種情況下, A將不會經歷生命週期事件。

  • 添加 - >爲B +替換addToBackStack - > popBackStack

    在這種情況下,A將通過onCreateView-> onActivityCreated等。

現在在你的另一個問題上,A怎麼知道B是否被刪除?有很多方法,但是一個簡單的方法是讓B在自己的onPause中檢查Fragment.isRemoving。然後,B可以通知主機活動,甚至通知片段A它被移除。

+0

感謝WindsurferOak – pagalpanda

相關問題