如何使用setDisplayHomeAsUpEnabled和fragment

时间:2015-11-12 13:35:17

标签: android android-fragments actionbardrawertoggle

我有一个带有2个碎片和抽屉的活动。因此,当我处于片段时,我会得到" Up" icon而不是hamburger图标(在setDisplayHomeAsUpEnabled的帮助下),但动作仍然相同 - navigation_drawer_open / close。那么如何获得onBackPressed()呢?

根据这个评论,我不知道如何自己处理Home / Up,因为"自动处理点击"。

 @Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.

2 个答案:

答案 0 :(得分:0)

自动处理通常仅在活动之间起作用。由于您使用的是片段,因此可能需要手动处理它们。

以下是关于如何处理后退按钮的示例。

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home: // This is the home/back button
                onBackPressed(); // Handle what to do on home/back press
                break;
        }

        return false;
    }

答案 1 :(得分:0)

为此,您必须使用自定义工具栏,而不是使用此库中的Android菜单键:
material-menu


在此库中,您可以更改箭头的状态并旋转-90以显示图标而不是汉堡图标。