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

用新片段替换当前片段

周鸿光
2023-03-14

在我的应用程序中,当点击导航抽屉上的不同项目时,我需要在片段之间切换。我为它创建了一个新方法DisplayFragment。代码如下:

private void DisplayFragment(int position)
{
    Fragment fragment = null;
    switch (position){

        case 0:
            fragment = new Fragment1();
            break;

        case 1:
            fragment = new Fragment2();
            break;

        case 2:
            fragment = new Fragment3();
            break;

        case 3:
            fragment = new Fragment4();
            break;

    if(fragment!= null)
       this.getFragmentManager().beginTransaction().replace(R.id.frame_container,fragment()).commit();

}

它显示了错误的"片段元素在上面的行如下"错误的第二个参数类型找到android.support.v4.app.片段;需要android.app.片段;"

我试着改变从android的导入。支持v4.app。碎片到android。应用程序。碎片但它随后显示了Fragment=null语句的错误。我做错了什么?

共有1个答案

魏宸
2023-03-14

您需要获得支持片段管理器才能使用android。支持v4.app。碎片。

this.getSupportFragmentManager().beginTransaction().replace(R.id.frame_container, fragment).commit();

因此,getSupport FragmentManager()而不是getFragmentManager()。此外,在这种情况下,您不需要使用this

 类似资料:
  • 我正在制作抽屉菜单,目前正在使用: getSupportFragmentManager()。开始交易()。替换(R.id.mainfragment,f1)。提交(); 但是正如你所看到的,它总是用新的片段替换主片段。谢谢!

  • 我有以下布局 一切正常,但我想用一个片段替换浏览器 这不是重新调整ViewPager的间距,我该怎么办???

  • 我有一个带选项卡指示器的viewPager。ViewPager是带有FragmentPagerAdapter的setAdaper。 我几乎不了解FragmentPagerAdapter的内部是如何工作的。我注意到邻居片段被恢复(调用OnResume),即使邻居还不可见。 我把更新方法放在OnResume中,以为片断是最新的,它就会更新。 广告横幅刷新 我希望页脚中设置的广告横幅在向左滑动一次或向右

  • 我有一个活动和两个片段。片断a和片断b。 我需要实现像,最初碎片应该在那里。在之后,单击FragmentB应该在那里。 我的第二段代码:

  • 我试图通过活动中按钮的onclick事件将一个主片段替换为另一个片段,但该片段恰好悬停在主片段上。 这是我的密码

  • 我有一个活动,它包含一个片段容器(FrameLayout),我在Activity.onCreate()期间在其中放置了一个片段。片段包含一个包含一串片段的ViewPager。所有这些工作都很好。页面内容显示,我可以很好地在页面中滑动,甚至可以看到操作栏中的操作,因为贡献的页面变得可见。 现在我用另一个片段替换包含ViewPager的片段: 此外,我已经用FragmentPagerAdapter替换