首页 > 解决方案 > 如何从主要活动中替换片段

问题描述

我有两个片段,mainactivity 最初有一个名为“仪表板片段”的片段单击此按钮后,我必须用名为“仪表板1 片段”的新片段替换此片段,但问题是仪表板片段没有隐藏/删除,现在它同时显示

我的代码

        public void onClick(View view) {
            Fragment fragment = null;
            fragment = new Dash_Section();
            replaceFragment(fragment);

        }
     public void replaceFragment(Fragment someFragment) {
    FragmentTransaction transaction = getFragmentManager().beginTransaction();
    transaction.replace(R.id.frame_container, someFragment);
    transaction.addToBackStack(null);
    transaction.commit();

如何删除或替换仪表板片段?任何帮助将不胜感激。

标签: android-studioandroid-fragmentsfragmentandroid-fragmentactivity

解决方案


首先,您必须在 MainActivity 的布局文件中声明一个 FragmentContainer。这是显示两个片段的空间。然后,您可以实例化这两个片段并通过添加在它们之间进行更改:

 Dashboard1Fragment dFragment = new Dashboard1Fragment();
            FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.replace(R.id.fragment_container, dFragment);
            fragmentTransaction.commit();

这将替换您的 FragmentContainer 的内容并实例化一个新的 Fragment,而不会重叠两个 Fragment。


推荐阅读