Я работаю над приложением для Android и хочу создать ListFragment и использовать его в навигационном ящике как фрагмент. Это возможно?
Я делаю ListFragment, но у меня есть ошибки в моей основной деятельности:
private void displayView(int position) {
// update the main content by replacing fragments
Fragment fragment = null;
ListFragment lf=null;
switch (position) {
case 0:
fragment = new HomeFragment();
break;
case 1:
fragment = new FindPeopleFragment();
break;
case 2:
fragment = new PhotosFragment();
break;
case 3:
lf = new CommunityFragment();
break;
case 4:
fragment = new PagesFragment();
break;
case 5:
fragment = new WhatsHotFragment();
break;
default:
break;
}
if (lf != null) {
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.frame_container, lf).commit();
// update selected item and title, then close the drawer
mDrawerList.setItemChecked(position, true);
mDrawerList.setSelection(position);
setTitle(navMenuTitles[position]);
mDrawerLayout.closeDrawer(mDrawerList);
}
if (fragment != null) {
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.frame_container, fragment).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");
}
Ошибка: метод replace(int,Fragment) в типе FragmentFransaction неприменим для аргументов (int,ListFragment).
Эта ошибка находится в этой строке кода (при замене):
if (lf != null) {
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.frame_container, lf).commit();
где lf — фрагмент списка.
Могу ли я использовать ListFragment с Navigation Drawer?
import android.app.ListFragment
, потому что, вероятно, вы расширяете Activity и используетеgetFragmentManager()
. Я мог бы ответить при условии, но я ждал вашего ответа, который пришел сейчас - person Raghunandan   schedule 02.04.2014