Добавление navigation drawer

160
30 июля 2018, 03:40

Как мне в проект добавить navigation drawer, если я создаю не общий toolbar, а добавляю его отдельно в каждый фрагмент.

    Toolbar toolbar = view.findViewById(R.id.toolbar);
    ((AppCompatActivity) getActivity()).setSupportActionBar(toolbar);

Что тогда писать в MainActivity? Попробовал использовать стандартный способ добавления navigation drawer, но он требует, чтобы toolbar был прописан в самом активити, а не в его фрагментах.

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
            this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
    drawer.setDrawerListener(toggle);
    toggle.syncState();
Answer 1

Решал раньше эту проблему как-то так.

Во фрагменте:

    AppCompatActivity actionBar = (AppCompatActivity) getActivity();
    actionBar.setSupportActionBar(mToolbar); //собственный тулбар фрагмента
    DrawerLayout mDrawerLayout = actionBar.findViewById(R.id.drawerlayout);
    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(getActivity(), mDrawerLayout, mToolbar, R.string.app_name,
            R.string.app_name);
    mDrawerLayout.addDrawerListener(toggle);
    toggle.syncState();

В активити:

mDrawerLayout = findViewById(R.id.drawerlayout);
final NavigationView navigationView = findViewById(R.id.navigation);
    navigationView.setCheckedItem(R.id.main_item);
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {...}

Источник на английском стаке здесь. Там же описаны и другие способы.

READ ALSO
Android доступ к экземплярам класса

Android доступ к экземплярам класса

Имеется некоторый класс, например

172
Открытие Alertdialog по нажатию элемента RecyclerView(CardView)

Открытие Alertdialog по нажатию элемента RecyclerView(CardView)

Необходимо по нажатию на элемент, открыть AlertDialog и передать в него объектНе видео метод getLayoutInflater

178
Шаблонизатор Spring

Шаблонизатор Spring

Имеется такая структура - чистые JSP без ничего другого

267
Java. Cмещение битов

Java. Cмещение битов

Код взят отсюда: ссылка

192