Wie teilen wir Drawer
mit allen Aktivitäten?Navigationsansicht mit allen Aktivitäten teilen?
In den Lister: onNavigationItemSelected
von setNavigationItemSelectedListener
können wir die id
und navigieren Sie zu ihm. Was ich suche ist so etwas wie dieses:
private void initDrawerLayout() {
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
NavigationView navView = (NavigationView) findViewById(R.id.navigation_view);
navView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
Intent intent;
int id = menuItem.getItemId();
switch(id) {
case R.id.home:
case R.id.drawer_home:
// call activity instead of adding/replacing fragment
return true;
case R.id.drawer_gallery:
// call activity instead of adding/replacing fragment
intent = new Intent(MainActivity.this, GalleryActivity.class);
startActivity(intent);
return true;
case R.id.drawer_about:
// call activity instead of adding/replacing fragment
intent = new Intent(MainActivity.this, AboutActivity.class);
startActivity(intent);
return true;
...
}
...
ich ich weiß, alle menuItems
Add machen kann/ersetzen Fragment
, aber dann Umgang mit Fragmenten und Speicherverwaltung ist ein großer Schmerz.
Stattdessen möchte ich jedes menuItem
auswählen/klicken, um Activity
aufzurufen. d.h. jeder MainMenuItem
hat Activity
und diese werden Fragmente mit komplexen Layouts enthalten.
Alles, was ich tun möchte, ist jeder Hauptmenüpunkt ein
Activity
sein anstelle einesFragment
.Und alle diese Aktivitäten können die gleichen teilen
DrawerNavigation
.
Ist dies der empfohlene Weg? Oder fügen wir immer Fragments
für NavigationDrawer
Element Klicks hinzu?
Sollte ich NavigationView
zu BaseActivity
hinzufügen und dann alle Aktivitäten von dort aus erweitern ??
Following this new guide about Support Design lib
ja, Sie sollten "NavigationView zu BaseActivity hinzufügen und dann alle Aktivitäten von dort erweitern" – pskink