【问题标题】:How do I replace the fragmentactivity in the code below?如何替换下面代码中的片段活动?
【发布时间】:2014-01-03 03:53:56
【问题描述】:
/**
 * 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)。

【问题讨论】:

    标签: android android-fragmentactivity


    【解决方案1】:

    这行不通。您正在尝试用FragmentActivity 替换Fragment,这是不可能的。你只能通过Fragments 来做到这一点。为澄清起见,FragmetnActivity 充当支持库中 Fragments 的主机 Activity。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-20
      • 1970-01-01
      • 2021-10-13
      • 1970-01-01
      • 1970-01-01
      • 2023-02-09
      • 1970-01-01
      相关资源
      最近更新 更多