使用应用程序图标导航

时间:2014-02-07 15:43:21

标签: android android-actionbar

我正在操作栏中使用“后退”箭头实现导航。 我这样做的原因如下:

    ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);

并手动声明清单中的parentactivity。问题是,在我的应用程序中,某些活动可能有很多路径到目的地活动。

我一直在研究这个http://developer.android.com/guide/topics/ui/actionbar.html#Home

并引用

  

或者,覆盖getSupportParentActivityIntent()和   您的活动中的onCreateSupportNavigateUpTaskStack()。这是   适当的时候,父活动可能会有所不同,具体取决于方式   用户到达当前屏幕。也就是说,如果有很多   用户可以用来到达当前屏幕的路径   向上按钮应沿用户实际路径向后导航   然后到达那里。

     

系统在用户调用getSupportParentActivityIntent()时   在浏览应用程序时按下向上按钮(在您的应用程序内)   任务)。如果在导航时打开的活动不同   取决于用户如何到达当前位置,那么你   应该重写此方法以返回启动的Intent   适当的父母活动。

唯一的问题是我不知道用什么来覆盖它来获取当前的父活动。有没有人以前用过这个?我很感激建议

如果有人能帮助我如何做到这一点我会非常感激,我不建议用它作为后退按钮。我只是想覆盖向上按钮。

2 个答案:

答案 0 :(得分:1)

哦......对于那些可能需要比那些提供的更有帮助的答案的人... 这就是我所做的

@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.
    switch (item.getItemId()){
        case android.R.id.home:
            finish();
            overridePendingTransition(R.animator.close_slide_in, R.animator.close_slide_out);
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

所以在android.r.id.home的情况下,你可以放置所需的操作。在我的情况下,我只是想完成当前的活动

我希望那里有人使用

答案 1 :(得分:0)

根据Android guidelines,你不应该每次都以不同的方式使用向上按钮。这就是后退按钮的工作方式。