[英]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.