我有任意数量的分层嵌套视图/活动.操作栏应显示向上导航按钮以在任何视图中导航到更高级别.为此,谷歌文档说我必须在活动的xml定义中使用标记设置父活动.但是,我正在动态创建我的活动,并且子元素可以与它的父元素具有相同的活动.
那么如何在运行时将父活动设置为实际的父实例?
这听起来像是混淆了导航和导航.
向上按钮应该是确定性的.从给定的屏幕,向上按钮应始终将用户带到同一屏幕.
后退按钮不应始终将用户带到同一屏幕.后退按钮的目的是帮助用户按时间顺序返回应用程序.它应该将用户带到上一个屏幕.
如果没有明确的屏幕层次结构(例如,没有父/子屏幕),那么您可能根本不需要实现导航.
请参阅:使用向上和向后导航
覆盖默认向上按钮行为的一个选项是简单地拦截按钮单击并自己处理它.例如:
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { // Respond to the action bar's Up/Home button case android.R.id.home: // Launch the correct Activity here return true; } return super.onOptionsItemSelected(item); }