所以我使用的是我的MainActivity导航抽屉。当我单击其中一个选项时,应该执行一个显示事件列表的活动。抽屉菜单仍然应该在顶部可见。
目前,它正在MainActivity的顶部打开列表活动,以使它们分开且无法同时显示,如以下屏幕快照所示:
导航抽屉1
事件列表活动2
这是通过单击后退按钮3关闭事件列表活动窗口后显示的MainActivity>
这就是我的MainActivity,并使用selectDrawerItem方法导航到不同的活动:
public class MainActivity extends AppCompatActivity { private DrawerLayout mDrawer; private Toolbar toolbar; private NavigationView nvDrawer; // Make sure to be using androidx.appcompat.app.ActionBarDrawerToggle version. private ActionBarDrawerToggle drawerToggle; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Set a Toolbar to replace the ActionBar. toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); // This will display an Up icon (<-), we will replace it with hamburger later getSupportActionBar().setDisplayHomeAsUpEnabled(true); // Find our drawer view mDrawer = (DrawerLayout) findViewById(R.id.drawer_layout); drawerToggle = setupDrawerToggle(); // Setup toggle to display hamburger icon with nice animation drawerToggle.setDrawerIndicatorEnabled(true); drawerToggle.syncState(); // Tie DrawerLayout events to the ActionBarToggle mDrawer.addDrawerListener(drawerToggle); // Find our drawer view nvDrawer = (NavigationView) findViewById(R.id.nvView); // Setup drawer view setupDrawerContent(nvDrawer); } @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); // Sync the toggle state after onRestoreInstanceState has occurred. drawerToggle.syncState(); } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // Pass any configuration change to the drawer toggles drawerToggle.onConfigurationChanged(newConfig); } private ActionBarDrawerToggle setupDrawerToggle() { // NOTE: Make sure you pass in a valid toolbar reference. ActionBarDrawToggle() does not require it // and will not render the hamburger icon without it. return new ActionBarDrawerToggle(this, mDrawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); } private void setupDrawerContent(NavigationView navigationView) { navigationView.setNavigationItemSelectedListener( new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(MenuItem menuItem) { selectDrawerItem(menuItem); return true; } }); } public void selectDrawerItem(MenuItem menuItem) { // Create a new fragment and specify the fragment to show based on nav item clicked FragmentActivity fragmentActivity = null; Intent intent = null; switch(menuItem.getItemId()) { case R.id.nav_first_fragment: intent = new Intent(MainActivity.this, Activity1.class); startActivity(intent); break; case R.id.nav_second_fragment: intent = new Intent(MainActivity.this, Activity2.class); startActivity(intent); break; case R.id.nav_third_fragment: intent = new Intent(MainActivity.this, Activity3.class); startActivity(intent); break; default: intent = new Intent(MainActivity.this, Activity1.class); startActivity(intent); } // Highlight the selected item has been done by NavigationView menuItem.setChecked(true); // Set action bar title setTitle(menuItem.getTitle()); // Close the navigation drawer mDrawer.closeDrawers(); } @Override public boolean onOptionsItemSelected(MenuItem item) { /*// The action bar home/up action should open or close the drawer. switch (item.getItemId()) { case android.R.id.home: mDrawer.openDrawer(GravityCompat.START); return true; }*/ if (drawerToggle.onOptionsItemSelected(item)) { return true; } return super.onOptionsItemSelected(item); }
}
所以基本上我想打开在3号中的2号中看到的内容。我该怎么做?我已经尝试使用片段,但是由于应用程序以后将如何工作,它必须是一项活动。所以这不是一个选择。
((Android初学者btw:°))
谢谢!
所以我使用的是我的MainActivity导航抽屉。当我单击其中一个选项时,应该执行一个显示事件列表的活动。抽屉菜单仍应为...
一次只能运行一个活动。您的案件需要分散处理。
U可以在View pager中使用片段