繁体   English   中英

如何替换下面代码中的fragmentactivity?

[英]How do I replace the fragmentactivity in the code below?

/**
 * Diplaying fragment view for selected nav drawer list item
 * */
private void displayView(int position) {
    // update the main content by replacing fragments
    FragmentActivity fragment = null;
    switch (position) {
    case 0:
        fragment = new HomeFragment();
        break;
    case 1:
        fragment = new HomeFragment();//LessonPlanFragment();
        break;
    case 2:
        fragment = new HomeFragment();//GradeBookFragment();
        break;
    case 3:
        fragment = new HomeFragment();//StudentFragment();
        break;
    case 4:
        fragment = new HomeFragment();//ReportsFragment();
        break;
    case 5:
        fragment = new HomeFragment();//AppSettingsFragment();
        break;

    default:
        break;
    }

    if (fragment != null) {
        FragmentManager fragmentManager = getFragmentManager();
        android.app.FragmentTransaction ft = fragmentManager.beginTransaction();
        ft.replace(R.id.frame_container, fragment);
        ft.commit();

        // update selected item and title, then close the drawer
        mDrawerList.setItemChecked(position, true);
        mDrawerList.setSelection(position);
        setTitle(navMenuTitles[position]);
        mDrawerLayout.closeDrawer(mDrawerList);
    } else {
        // error in creating fragment
        Log.e("MainActivity", "Error in creating fragment");
    }
}

我尝试使用支持库,但没有任何帮助。 错误消息显示为:FragmentTransaction类型的het方法replace(int,Fragment)不适用于参数(int,FragmentActivity)。

这行不通。 您正在尝试用FragmentActivity替换Fragment ,而这是不可能的。 您只能使用Fragment来做到这一点。 为了澄清FragmetnActivity在支持库中充当片段的主机活动。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM