Android 带有活动而不是片段的导航抽屉
我所拥有的是我使用导航抽屉制作的左侧导航菜单,它可以很好地处理片段,我有五个按钮,每个按钮打开一个片段,但现在我希望每个案例打开一个活动而不是片段,我尝试使用intent来做,但没有成功!! 这是我的密码:Android 带有活动而不是片段的导航抽屉,android,android-fragments,navigation-drawer,Android,Android Fragments,Navigation Drawer,我所拥有的是我使用导航抽屉制作的左侧导航菜单,它可以很好地处理片段,我有五个按钮,每个按钮打开一个片段,但现在我希望每个案例打开一个活动而不是片段,我尝试使用intent来做,但没有成功!! 这是我的密码: private void displayView(int position) { // update the main content by replacing fragments android.app.Fragment fragment = null;
private void displayView(int position) {
// update the main content by replacing fragments
android.app.Fragment fragment = null;
switch (position) {
case 0:
//fragment = new HomeFragment();
// Intent i=new Intent(MainActivity.this,MainActivity.class);
// startActivity(i);
break;
case 1:
//fragment = new FindPeopleFragment();
break;
case 2:
//fragment = new PhotosFragment();
break;
case 3:
//fragment = new CommunityFragment();
break;
case 4:
//fragment = new PagesFragment();
break;
case 5:
//fragment = new WhatsHotFragment();
break;
default:
break;
}
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");
}
}
那么,我应该在代码中做些什么更改,以便它可以打开一个活动而不是片段???有人能帮我吗?您需要更改函数,以便在某些情况下加载类片段,在其他情况下加载类活动
case 0:
activity = new MyActivity();
fragment = null;
break;
case 1:
fragment = new MyFragment();
activity = null;
break;
if (fragment != null) {
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.frame_container, (android.app.Fragment) fragment).commit();
setTitle(menutitles[position]);
mDrawerLayout.closeDrawer(mDrawerList);
}else {
if(activity != null) {
Intent i1 = new Intent(MainActivity.this, activity.getClass());
i1.putExtra(EXTRA_MESSAGE, position);
startActivity(i1);
setTitle(menutitles[position]);
mDrawerLayout.closeDrawer(mDrawerList);
}
}
请您发布Logcat中的错误: 我首先要检查的是: Manifest.xml中的活动是否声明为活动? 其次,检查调用活动是否有意图,而不是片段 这就是正确开始活动的方式
Intent intent = new Intent(mActivity, class1); // class1 The class to open
startActivity(intent);
但它不起作用-当您尝试它时发生了什么?当我尝试在emulator上运行它时。。一个黑屏出现在logcat上,它说即使我没有尝试构建片段,也无法构建片段我的意思是else语句有效请提供完整的logcat错误请发布logcat。您似乎走对了轨道。在尝试重新开始时,您能不能发布logcat错误意图:我应该将活动配置为什么?我不知道懂你能解释一下你的评论吗?在logcat中我一直看到一个黑屏,上面写着:跳过231帧!应用程序可能在其主线程上做了太多的工作;请记住,MyActivity类需要扩展活动