用新的片段替换当前片段

时间:2015-06-30 13:04:30

标签: android android-fragments

在我的应用程序中,我需要在单击导航抽屉上的不同项目时在片段之间切换。我为它创建了一个新方法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.Fragment;需要android.app.Fragment;“

我尝试将导入从android.support.v4.app.Fragment更改为android.app.Fragment;但它会显示Fragment fragment = null语句的错误。我做错了什么?

1 个答案:

答案 0 :(得分:0)

您需要让支持片段管理器使用android.support.v4.app.Fragment

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

所以,getSupportFragmentManager()代替getFragmentManager()。此外,在这种情况下,您无需使用this