【问题标题】:Fragment within FragmentTabHost view lost onBackPressed Android?FragmentTabHost 视图中的片段在BackPressed Android 上丢失?
【发布时间】:2014-11-18 09:27:56
【问题描述】:

我创建了一个应用程序。以下是我解释问题之前的场景。

我的 Activity A 有多个片段,例如 F1、F2、F3 等。

现在对于 F1 片段,我已经使用三个片段 F11、F12、F13 片段视图实现了 FragmentTabHost。在选项卡上对此工作正常。

但是今天我发现了一个问题。 假设我在 F1 内,我显示了三个片段选项卡 F11、F12、F13。用户可以在标签之间切换,效果很好。

问题是说我通过按 Tab 从 F11 转到 Fragment F13。成功显示 F13 片段。

但是,当我单击菜单上的后退按钮时,它会返回 F11 片段但显示空白屏幕意味着未显示 F11 视图..

这是我实现 FragmentTabHost 的 F1 片段代码:

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.home_fragment, container,
                false);
        setHasOptionsMenu(true);
        // realtabcontent = (FrameLayout) rootView
        // .findViewById(R.id.realtabcontent);
        mTabHost = (FragmentTabHost) rootView
                .findViewById(android.R.id.tabhost);
        mTabHost.setup(getActivity(), getChildFragmentManager(),
                R.layout.home_fragment);
        mTabHost.setOnTabChangedListener(this);
        View tabView = createTabView(getActivity(), "Featured");
        spec = mTabHost.newTabSpec("featured").setIndicator(tabView);

        mTabHost.addTab(spec, FeaturedHomeTab.class, null);

        tabView = createTabView(getActivity(), "Top");
        spec = mTabHost.newTabSpec("top").setIndicator(tabView);
        mTabHost.addTab(spec, TopHomeTab.class, null);

        tabView = createTabView(getActivity(), "New");
        spec = mTabHost.newTabSpec("new").setIndicator(tabView);
        mTabHost.addTab(spec, NewHomeTab.class, null);
        onTabChanged("featured");
        return rootView;
    }

所以这是包含三个片段的主代码,当我在 tabhost 视图中从一个片段返回到上一个片段时消失。

可能是什么问题。请帮忙。

【问题讨论】:

  • 它与你的碎片的附加和分离有关..所以如果你冷静地发布它。可能会有所帮助
  • 你想发布什么
  • 不,您应该发布代码对吗?所以我是说发布与我所说的相关的代码..
  • 现在检查我已经更新了代码
  • 我需要以某种方式处理这个 onbackpress,但我不知道如何..

标签: android android-fragments fragment-tab-host


【解决方案1】:

选项卡并不意味着参与时间导航(这是 back nav 的用途),因为它们代表同一层次结构级别的内容。

如果是碎片,后退导航通常会弹出后退堆栈。需要注意的是,后导航不会首先弹出子(子)片段。因此,添加到 Activity 的片段在后面被移除,这包括整个选项卡片段(连同它的子片段)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多