在我的Activity中,我调用:
getFragmentManager().beginTransaction().addToBackStack(null)
.add(R.id.fragment_container, new UserPlaylistsFragment())
.addToBackStack(null).commit();
这个片段已经正确添加到视图中。 该片段包含一个listview。当点击列表项时,将执行以下代码:
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>
.addToBackStack(null)
?你只应在add
或replace
之后调用它。 - blindstuff.addToBackStack(null)
对我来说也很奇怪。你试过只使用在提交之前的那个吗? - Javier