Разделитель не позволяет выполнять мой код - PullRequest
0 голосов
/ 24 февраля 2020

В моем блоке навигации я пытаюсь выполнить код, чтобы начать новое действие, чтобы оно переходило от одного действия к другому. Однако, когда я использую DividerDrawerItem(), он не выполняет последний оператор case (4). Я пробовал без DividerDrawerItem(), и он работает, но когда я добавляю его, это не так.

PrimaryDrawerItem item1 = new PrimaryDrawerItem().withIdentifier(1).withName("Home Page");
PrimaryDrawerItem item2 = new PrimaryDrawerItem().withIdentifier(2).withName("Rank Table");
PrimaryDrawerItem item3 = new PrimaryDrawerItem().withIdentifier(3).withName("Report");
PrimaryDrawerItem item4 = new PrimaryDrawerItem().withIdentifier(4).withName("Log out");

//create the drawer and remember the `Drawer` result object
 Drawer result = new DrawerBuilder()
     .withActivity(this)
     .withAccountHeader(headerResult)
     .withToolbar(toolbar)
     .addDrawerItems(
      item1, item2,item3,
      new DividerDrawerItem(),
      item4

              )
        .withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() {
                    @Override
                    public boolean onItemClick(View view, int position, IDrawerItem drawerItem) {
                        // do something with the clicked item :D
                        switch(position){
                            case 1: startActivity(new Intent(HomePage.this, HomePage.class));
                                break;
                            case 2: startActivity(new Intent(HomePage.this, RankT.class));
                                break;
                            case 3: startActivity(new Intent(HomePage.this,Report.class));
                            break;
                            case 4: firebaseAuth.signOut();
                                finish();
                                startActivity(new Intent(HomePage.this,MainActivity.class));
                        }
                        return true;
                    }

1 Ответ

1 голос
/ 24 февраля 2020

Я думаю, что ваш код использует положение , где он должен использовать идентификатор .

Изменить switch(position) на switch((int) drawerItem.getIdentifier())

...