在我的活动中我打电话:
getFragmentManager().beginTransaction().addToBackStack(null)
.add(R.id.fragment_container, new UserPlaylistsFragment())
.addToBackStack(null).commit();
此片段已正确添加到视图中.
该片段包含一个列表视图.单击某个项目时,将执行以下代码:
getFragmentManager()
.beginTransaction()
.replace(R.id.fragment_container, new ViewPlaylistFragment(),
"ViewPlaylistFragment").addToBackStack(null).commit();
这也有效. UserPlaylistsFragment将替换为ViewPlaylistFragment.
奇怪的是:
点击“后退按钮”时没有任何反应.当它击中它两次时,应用程序关闭(没有错误).
似乎“BackStack”对我不起作用.有人建议吗?
我的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</RelativeLayout>
</LinearLayout>
最佳答案 在初始FragmentTransaction中删除对.addToBackStack(null)的第一次调用.