2014-01-02 4 views
0
/** 
* 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 не применяется для аргументов (INT, FragmentActivity).Как заменить фрагментацию в коде ниже?

ответ

0

Это не будет работать. Вы пытаетесь заменить Fragment с FragmentActivity и это невозможно. Вы можете сделать это только с Fragment. Для пояснения FragmetnActivity выступает в качестве принимающей стороны для фрагментов в библиотеке поддержки.

Смежные вопросы