2015-07-13 161 views
0

我在Android Studio中使用导航抽屉。当我选择在导航抽屉中的项目,我用下面的代码:片段和活动

public void onNavigationDrawerItemSelected(int position) { 
    switch(position) 
     { 
      case 0: 
       Intent intent1 = new Intent(MainActivity.this,HomeActivity.class); 
       startActivity(intent1); 
       break; 
      case 1: 
       Intent intent2 = new Intent(MainActivity.this,DayActivity_1.class); 
       startActivity(intent2); 
       break; 
     } 
} 

当我打电话从抽屉式导航项目我的活动选择的操作栏消失和全屏幕上打开活动。我如何管理导航抽屉不会消失?

回答

0

如果你想坚持导航抽屉,你应该改变内容片段,而不是显示活动。

你的情况,这将是,改变

Intent intent1 = new Intent(MainActivity.this,HomeActivity.class); startActivity(intent1); 

有:

FragmentManager fragmentManager = ... 
FragmentTransaction transaction = fragmentManager.beginTransaction(); 
transaction.replace(R.id.your_fragment_container_id, new HomeFragment()) 
transaction.commit(); 
0

不使用DayActivity_1.class活动中使用,而不是片段,当你点击导航项目JST创建片段和更换到抽屉式布局

0

在您的主导航活动类中像下面一样扩展FragmentActivity。

public class NavigationdrawerActivity extends FragmentActivity 

现在使用下面的代码来解决问题

public void setContent(Fragment fragment) { 
     // Fragment fragment = new content_home(); 
     FragmentTransaction fragmentManager = getFragmentManager().beginTransaction(); 
     fragmentManager.setCustomAnimations(R.animator.enter_from_left, R.animator.exit_to_left); 
     // fragmentManager.beginTransaction() 
     fragmentManager.replace(R.id.mainContent, fragment).commit(); 

    } 

public void onNavigationDrawerItemSelected(int position) { 
    switch(position) 
     { 
      case 0: 

       break; 
      case 1: 
       Intent intent2 = new Intent(MainActivity.this,DayActivity_1.class); 
       startActivity(intent2); 
       break; 
     } 
} 

public void onNavigationDrawerItemSelected(int position) { 
    switch(position) 
     { 
      case 0: 
       Fragment homeActivityFragment = new HomeActivityFragment(); 
       //if you want to pass data to fragment 
        //Bundle bundle = new Bundle(); 
        //bundle.putString("id", "" + item.get("id")); 
        //homeActivityFragment.setArguments(bundle); 
       setContent(homeActivityFragment) 
       break; 
      case 1: 
       Fragment dayActivity_1Fragment = new DayActivity_1Fragment(); 
       setContent(dayActivity_1Fragment) 
       break; 
     } 
}