我在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 :(得分: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();
答案 1 :(得分:0)
不要使用DayActivity_1.class活动使用片段而是当你点击导航项jst创建片段并将其替换为drawerlayout
答案 2 :(得分:0)
在主导航活动类中扩展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;
}
}
现在使用以下代码解决您的问题
newModel