簡體   English   中英

從BackStack還原片段的事件

[英]Event for Fragment restoring from BackStack

我從SpeakerFragment附加SessionFragment並添加代碼:

FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
        fragmentManager.beginTransaction()
                .add(R.id.container, new SessionFragment(session))
                .addToBackStack("session")
                .commit();

在SessionFragment中(在OnAttach()中),我將ActionBar標題更改為Session標題。

從SessionFragment返回時,我想將ActionBar標題更改為Speaker name。 我怎樣才能做到這一點?

OnStart(),OnResume(),onAttach()未調用。

您只是向容器中添加了一個片段,而沒有分離或移除前一個片段,而是嘗試替換並在OnActivityCreated()設置ActionBar標題

FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
fragmentManager.beginTransaction()
        .replace(R.id.container, new SessionFragment(session))
        .addToBackStack("session")
        .commit();

另一個注意事項,您不應該對片段使用非空的構造函數,因為框架僅在還原片段時(例如在空轉,后台等之后)才調用空構造函數。相反,會話的類應實現可拆分,並應作為片段參數傳遞使用fragment.setArguments()

暫無
暫無

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

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