【发布时间】:2016-04-21 20:26:46
【问题描述】:
我有以下代码行,用于创建导航视图以加载片段和此 android 应用程序。我收到错误:android.support.v4.app.Fragment.mFragmentManager' 在空对象引用上。我已经创建了片段,并且导航视图可以正常工作。
public void selectDrawerItem(MenuItem menuItem){
Fragment fragment = null;
Class fragmentClass = null;
switch(menuItem.getItemId()){
case R.id.nav_show_all_events_activity:
fragmentClass = AllEventsFragment.class;
break;
case R.id.nav_whats_hot_today_activity:
fragmentClass = WhatsHotFragment.class;
break;
}
try {
fragment = (Fragment) fragmentClass.newInstance();
} catch (Exception e) {
e.printStackTrace();
}
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.flContent, fragment).commit();
menuItem.setChecked(true);
setTitle(menuItem.getTitle());
mDrawer.closeDrawers();
}
【问题讨论】:
-
您创建
fragment的方式有点奇怪。你确定fragment不为空吗? -
是的,你不需要反射来创建你的片段,只需调用
fragment = new AllEventsFragment()或fragment = new WhatsHotFragment() -
我在第一次尝试时尝试过,但失败了 (
fragment = new AllEventsFragment())。我确定fragment不为空。
标签: android android-fragments navigationview