Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.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 尽管调用了addToBackStack(null),但片段BackStack不起作用_Android_Android Fragments - Fatal编程技术网

Android 尽管调用了addToBackStack(null),但片段BackStack不起作用

Android 尽管调用了addToBackStack(null),但片段BackStack不起作用,android,android-fragments,Android,Android Fragments,在我的活动中,我称之为: getFragmentManager().beginTransaction().addToBackStack(null) .add(R.id.fragment_container, new UserPlaylistsFragment()) .addToBackStack(null).commit(); 此片段已正确添加到视图中。 该片段包含一个listview。单击项目时,将执行以下代码: getFrag

在我的活动中,我称之为:

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();
这也行得通。UserPlaySFragment将替换为ViewPlaySFragment。 奇怪的是: 当按下“后退按钮”时,什么也不会发生。当点击两次时,应用程序关闭(没有错误)

看来“背靠背”对我不起作用。有什么建议吗

我的布局:

<?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)的第一次调用。

永远不要调用addToBackStack()twise。。这可能会把事情搞砸

这可能是一个很长的机会,但我看到碎片表现得很疯狂。为什么要执行两次
.addToBackStack(null)
?您应该只在双
add
replace
之后调用它。addToBackStack(null)
在我看来也很奇怪。你有没有试着只使用提交前的一个?哇,这个问题很久以前就有了,但是ofc你是对的,问题出在双重回退呼叫上