我有一个导航抽屉应该关闭背压这完美有效但当导航抽屉关闭并有第二次返回按钮时按应用程序关闭而不是进入主屏幕
这是我正在尝试的代码
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
if(drawerLayout.isDrawerOpen(Gravity.LEFT)){
drawerLayout.closeDrawer(Gravity.LEFT);
}else{
//super.onBackPressed();
Intent mainActivity = new Intent(Intent.ACTION_MAIN);
mainActivity.addCategory(Intent.CATEGORY_HOME);
mainActivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(mainActivity);
}
我们如何关闭导航抽屉然后直接进入主屏幕/主要活动
我不想使用
Intent i = new Intent(AccountActivity.this, HomeActivity.class);
startActivity(i);
答案 0 :(得分:1)
从家中启动另一个活动时不要使用finish()方法。 //从主屏幕中删除finish方法。
答案 1 :(得分:1)
首先,请阅读并理解我的回答 here ,以清除MainActivity
的背靠背。在你理解之前我的方法是行不通的。
因此,您无法直接关闭应用,除非您首先返回主屏幕并关闭主屏幕Activity
(请参阅此question)。
<强> CurrentActivity
强>
if(drawerLayout.isDrawerOpen(Gravity.LEFT)) {
drawerLayout.closeDrawer(Gravity.LEFT);
}else{
// After you understood my answer above (I link it with "here"),
// you just need this call:
startActivity(new Intent(CurrentActivity.this, HomeScreenActivity.class));
}
注意:在finish()
方法中调用onResume()
可能会导致问题。
在 finish()
内的onResume()
方法中致电HomeScreenActivity
@Override
protected void onResume() {
super.onResume();
HomeScreenActivity.this.finish();
}