当我按下按钮时如何打开抽屉

时间:2016-09-02 17:05:56

标签: android

我正在使用谷歌的默认导航抽屉活动。在抽屉的菜单中,我添加了添加的菜单项,单击时打开其他活动(而不是片段)。这些活动将MainActivity作为父级,具有抽屉。活动在工具栏中有后退按钮。当按下此后退按钮时,应用程序将返回带有关闭抽屉的主要活动。如果在子活动中按下后退按钮,我怎么能打开抽屉。

我知道这可以通过让其他活动成为片段来轻松解决,但这不是我想要的。

1 个答案:

答案 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
    }  
}