这里的第一个问题,希望我能得到我需要的帮助:) 首先,我试着检查一下这个帖子: Same Navigation Drawer in different Activities 还有很多其他人什么都没得到:\
问题:
所以我制作了一个应该像这样构建的应用程序:
导航抽屉 - 涵盖所有活动。
包含信息的主页
活动
我在抽屉上做了选项去另一个活动,但是:
如何制作一个选项,当我正在进行活动时,再次按下抽屉上的按钮,将我发送到相同的活动,它会关闭抽屉? 有没有选项来检查我现在是否正在进行特定活动? 这是我的主页与抽屉:
public class Main_Page extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main__page);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(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();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
}
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
Intent Home=new Intent(Main_Page.this,Main_Page.class);
Intent Settings = new Intent(Main_Page.this,Settings.class);
int id = item.getItemId();
if (id == R.id.Main_App)
startActivity(Home);
else if (id== R.id.nav_Settings)
startActivity(Settings);
else if (id == R.id.Nav_Log_Out) {
super.onBackPressed();
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
}
谢谢!
答案 0 :(得分:2)
这是不可能的,你有两个选择
最后,两种解决方案都有利有弊,这取决于您的业务逻辑以及每个部分的复杂程度