Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.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中以前的活动?_Android_Android Activity_Android Fragments - Fatal编程技术网

如何关闭当前片段中的活动并返回到android中以前的活动?

如何关闭当前片段中的活动并返回到android中以前的活动?,android,android-activity,android-fragments,Android,Android Activity,Android Fragments,我的android应用程序中有多个活动,每个活动都有多个片段。从第三个活动的片段中,我想在按下后关闭第三个活动。我试过在ondeach()中使用这个函数 getActivity().finish(); 这将关闭当前活动,但在再次打开相同的活动时,应用程序崩溃。finish()是活动被垃圾回收之前的最后一个调用 你要么根本不应该这么叫,因为没有真正的理由这么做。如果你真的想稍后再看,你不能。您只能创建一个新活动。至于片段,发生在父对象上的任何事情也会发生在片段上 如果你想关闭一个特定的活动,你必

我的android应用程序中有多个
活动
,每个
活动都有多个
片段
。从第三个
活动
片段
中,我想在按下后关闭第三个活动。我试过在
ondeach()中使用这个函数

getActivity().finish();
这将关闭当前活动,但在再次打开相同的
活动时,应用程序崩溃。

finish()是活动被垃圾回收之前的最后一个调用

你要么根本不应该这么叫,因为没有真正的理由这么做。如果你真的想稍后再看,你不能。您只能创建一个新活动。至于片段,发生在父对象上的任何事情也会发生在片段上


如果你想关闭一个特定的活动,你必须在片段可以访问它的地方保留一个对它的引用。最好包装在WeakReference中,这样它就不会泄漏内存。

plz请共享您的崩溃日志。“从第三个活动的片段中,我想在按下后关闭第三个活动。”这是默认行为。你能详细说明一下你的设置吗?实际上我在
backstack
中有一些其他的
片段
,从这个特定的
片段
点击后退,我不想回到之前的片段,相反,我想关闭它的
活动本身。您正在构建一个应用程序,该应用程序将具有相互依赖性,这将使其难以管理。我尝试使用一个
接口
,该接口位于片段内部并由其活动实现,以便我可以与活动通信并要求其关闭。