Совместное использование NavigationView со всеми активностями?

Как мы делимся Drawer со всеми мероприятиями?

В листере: onNavigationItemSelected из setNavigationItemSelectedListener мы можем получить id и перейдите к нему. Я ищу что-то вроде этого:

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;
        ...
        }
        ...

Я знаю, что могу сделать все menuItems добавить / заменить FragmentНо обработка фрагментов и управление памятью - большая боль.

Вместо этого я хочу каждый menuItem выберите / нажмите, чтобы вызвать Activity, т.е. каждый MainMenuItem иметь Activity и те будут содержать фрагменты со сложными макетами.

Все, что я хочу сделать, это чтобы каждый пункт главного меню был Activity вместо Fragment,

И все эти действия могут делиться одинаково DrawerNavigation,

Это рекомендуемый способ? Или мы всегда добавляем Fragments за NavigationDrawer элемент нажимает??

Должен ли я добавить NavigationView в BaseActivity а потом продлевать все действия оттуда??

После этого нового руководства о поддержке Design lib

2 ответа

Я нашел ответ, используя этот SO ответ

Расширение - это правильный путь. Просто переопределите setContentView правильным способом...

Я немного запутался и здесь. Найдя очень мало информации об этом, я попытался расширить свой подкласс

public class NewActivity extends MainActivity{
     ...
}

Однако одно это ничего не сделало. MainActivity имеет полностью функционирующий NavigationView это будет переходить к каждому виду деятельности. Осталось только поделиться им с каждым действием.

Другие вопросы по тегам