我正在操作栏中使用“后退”箭头实现导航。 我这样做的原因如下:
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
并手动声明清单中的parentactivity。问题是,在我的应用程序中,某些活动可能有很多路径到目的地活动。
我一直在研究这个http://developer.android.com/guide/topics/ui/actionbar.html#Home
并引用
或者,覆盖getSupportParentActivityIntent()和 您的活动中的onCreateSupportNavigateUpTaskStack()。这是 适当的时候,父活动可能会有所不同,具体取决于方式 用户到达当前屏幕。也就是说,如果有很多 用户可以用来到达当前屏幕的路径 向上按钮应沿用户实际路径向后导航 然后到达那里。
系统在用户调用getSupportParentActivityIntent()时 在浏览应用程序时按下向上按钮(在您的应用程序内) 任务)。如果在导航时打开的活动不同 取决于用户如何到达当前位置,那么你 应该重写此方法以返回启动的Intent 适当的父母活动。
唯一的问题是我不知道用什么来覆盖它来获取当前的父活动。有没有人以前用过这个?我很感激建议
如果有人能帮助我如何做到这一点我会非常感激,我不建议用它作为后退按钮。我只是想覆盖向上按钮。
答案 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,你不应该每次都以不同的方式使用向上按钮。这就是后退按钮的工作方式。