分隔项不允许我的代码 运行
Divider item does not allow my code to run
在我的导航抽屉中,我正在尝试执行一段代码来启动一个新的 activity,以便它从一个 activity 移动到另一个。但是,当我使用 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;
}
我认为您的代码在应该使用 identifier.
的地方使用了 position
将switch(position)
改为switch((int) drawerItem.getIdentifier())
在我的导航抽屉中,我正在尝试执行一段代码来启动一个新的 activity,以便它从一个 activity 移动到另一个。但是,当我使用 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;
}
我认为您的代码在应该使用 identifier.
的地方使用了 position将switch(position)
改为switch((int) drawerItem.getIdentifier())