Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 用于从BackStack恢复碎片的事件_Android_Android Fragments_Back Stack - Fatal编程技术网

Android 用于从BackStack恢复碎片的事件

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

我附加SpeakerFragment中的SessionFragment,代码为:

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();