我正在使用谷歌的默认导航抽屉活动。在抽屉的菜单中,我添加了添加的菜单项,单击时打开其他活动(而不是片段)。这些活动将MainActivity作为父级,具有抽屉。活动在工具栏中有后退按钮。当按下此后退按钮时,应用程序将返回带有关闭抽屉的主要活动。如果在子活动中按下后退按钮,我怎么能打开抽屉。
我知道这可以通过让其他活动成为片段来轻松解决,但这不是我想要的。
答案 0 :(得分:0)
您可以在其父级为MainActivity的活动内部使用onBackPressed()。并使用键值对传递值,并使用bundle检查MainActivity的onCreate内的数据,然后在MainActivity中检查openDrawer,如下所示
在你的ChildActivity里面
@Override
public void onBackPressed() {
Intent intent = new Intent(ChildActivity.this, MainActivity.class);
intent.putExtra("openDrawer", true);
startActivity(intent);
super.onBackPressed();
}
然后在onCreate of MainActivty.class
里面private boolean openDrawer = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
Bundle bundle = getIntent.getExtras();
if(bundle != null) {
openDrawer = bundle.getBoolean("openDrawer");
}
if (!openDrawer) {
// Do other stuff and don't open drawer
} else {
//Open drawer login goes here
}
}