当前位置: 首页 > 知识库问答 >
问题:

如何将嵌套片段添加到选项卡式视图寻呼机内的背包?

谭兴学
2023-03-14

我的应用程序包含两个选项卡,在两个选项卡内每个选项卡有4-5个嵌套片段,在嵌套片段内addtobackstack不工作?我怎样才能将嵌套片段添加到backstack中,因为当我在嵌套片段中单击后退按钮时,我的应用程序正在关闭,这意味着它正在调用super。onBackKeyPressed方法。

共有3个答案

邹高懿
2023-03-14

使用ChildFragmentManager检查活动选项卡是否有BackStackEntry,如果有,则弹出backstack else调用super。按ONBACKKEY键

此答案的完整描述:https://stackoverflow.com/a/37961649/4832356

孔磊
2023-03-14

您应该使用ChildFragmentManager

这是片段替换函数。

fun replace(fragment: Fragment){
  childFragmentManager
    .beginTransaction()
    .replace(R.id.fragmentContainer, fragment)
    .commit()
}

并重写大多数父片段中的onBackPressed方法。

override fun onBackPressed() {
val pop = childFragmentManager.popBackStackImmediate()
if (!pop){
  super.onBackPressed()
}

}

我用kotlin写的,希望你能理解。如果你需要更多信息,请问我。

宦正诚
2023-03-14

在您的活动中添加此代码

public void onBackPressed() {
    FragmentManager fm = getSupportFragmentManager();
    if (fm.getFragments() != null) {
        for (Fragment frag : fm.getFragments()) {
            if (frag.isVisible()) {
                FragmentManager chilFrag = frag.getChildFragmentManager();
                if (chilFrag.getBackStackEntryCount() > 0) {
                    chilFrag.popBackStack();
                    return;
                }
            }
        }
     }
    super.onBackPressed();
}
 类似资料:
  • 我在StackOverflow上搜索了各种各样的答案,但找不到类似的答案。我知道如何刷新片段,但我不知道如何刷新实际上在选项卡布局中的片段。我有一个活动,我用viewpager实现了tablayout。我在tablayout的一个片段中看到了recyclerview。在“回收者”视图中,我有一个按钮可以重新加载页面。但问题是我重新加载了整个活动,然后看到了第一个选项卡。而recyclerview片

  • 我的应用程序中有一个viewpager,它有7个片段,每个片段代表各自的逻辑 但是,有两个片段是相互耦合的,一个片段不能没有另一个片段而存在。 我有两个按钮,在屏幕底部的“上一个”和“下一个”,在片段之间切换。 我想使viewpager中的滑动无法到达其中一个耦合片段 现在我这样做:我把第一个片段(耦合的片段)放在位置0,第二个片段放在最后一个位置,这样当你左右滑动时,你就可以最后到达第二个耦合的

  • 问题内容: 我实现了带有ViewPager和TabsAdapter的ActionBarSherlock。它运作良好,但是现在我试图从另一个表中的“标签1”中加载的框架中“推送”。 该行为应类似于: 我的应用程序中有3个选项卡,启动时会看到第一个选项卡,其中有一个带有按钮的片段 按下第一个选项卡上的按钮,应替换第一个选项卡上的片段,并显示另一个片段 我试图实现这一点,但是在更换时有一个黑色的片段。

  • 我正在尝试添加卡片视图,但当我使用此依赖项添加库时:我收到以下错误: 错误:任务“:app:processDebugManifest”的执行失败。清单合并失败:属性元数据#android。支持VERSION@value值=(26.0.0-alpha1)来自[com.android.support:appcompat-v7:26.0.0-alpha1]AndroidManifest。xml:27:9

  • 你好 我已经做了很长时间的编程,但刚刚开始为android开发,至少可以说它和c有很大的不同。。。 无论如何,我正在尝试实现一个带有一些选项卡的gui,它应该能够在向左/向右滑动时更改选项卡。这些选项卡是通过actionbar(确切地说是ActionBarSherlock)实现的,即使用支持库中的ViewPager进行滑动。单个选项卡是片段(SherlockFragment:s)。在底部应该有某种

  • 需要帮助在视图寻呼机中的片段之间传递数据!我们尝试将数据作为包传递到片段中。碎片内部。方法,并尝试从另一个片段获取数据。getArguments()。 活动代码 片段代码: 在片段之间传递数据时需要帮助