Android 用于从BackStack恢复碎片的事件
我附加SpeakerFragment中的SessionFragment,代码为:Android 用于从BackStack恢复碎片的事件,android,android-fragments,back-stack,Android,Android Fragments,Back Stack,我附加SpeakerFragment中的SessionFragment,代码为: FragmentManager fragmentManager = getActivity().getSupportFragmentManager(); fragmentManager.beginTransaction() .add(R.id.container, new SessionFragment(session)) .addTo
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
fragmentManager.beginTransaction()
.add(R.id.container, new SessionFragment(session))
.addToBackStack("session")
.commit();
在SessionFragment(在OnAttach()中)中,我将ActionBar标题更改为会话标题
当从SessionFragment返回时,我想将ActionBar标题更改为Speaker name。我该怎么做
OnStart()、OnResume()、onAttach()未调用。您只是在容器中添加了一个片段,而没有分离或删除上一个片段,请尝试替换,并在
OnActivityCreated()中设置ActionBar标题。
另一个注意事项是,您不应该对片段使用非空构造函数,因为框架只会在恢复片段时调用空构造函数,例如在空闲、后台等之后。
相反,会话的类应该实现parcelable,并且应该使用fragment.setArguments()
作为片段参数传递。请看以下内容:
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.container, new SessionFragment(session))
.addToBackStack("session")
.commit();