gpt4 book ai didi

java - Android - onBackPressed 对 fragment 没有影响

转载 作者:行者123 更新时间:2023-12-02 10:54:46 24 4
gpt4 key购买 nike

我有一个 Activity,其中有一个 viewpager,还有一个frameLayout,它用作应在该 viewpager 上方绘制的 fragment 的容器。

当我单击 Activity 的按钮时,该框架布局容器中会显示一个 fragment 。按导航栏我可以关闭这个 fragment 。当从 Activity 本身调用时,所有这些事情都可以正常工作。

我现在遇到的情况是,在 View 页面中某个 fragment 的特定操作上,我调用主 Activity 实现的回调,然后在框架布局中显示一个 fragment 。

但是现在问题来了。当我想向后导航或者想像之前描述的那样关闭 fragment 时,什么也没有发生。

结论是:

  1. 直接从 Activity 调用“fragment 显示到容器” -> 我可以通过 getActivity().onBackpressed() 从 fragment 导航回来

  2. “fragment 显示到容器”从 viewpager 中的 fragment 调用,然后委托(delegate)给 Activity -> 导航返回或 getActivity().onBackpressed() 无效。

所以我的问题是:即使我从 Activity 的 View 页面内的 fragment 之一调用它,如何关闭容器中的 fragment ?

最佳答案

可能您正在添加一个 fragment 到后台堆栈,因此onBackPressed您应该弹出后台堆栈中的最后一个 fragment 。

类似这样的事情:
FragmentManager fm = Activity.getFragmentManager();
fm.popBackStackImmediate();

关于java - Android - onBackPressed 对 fragment 没有影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51856238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com