如何在运行时设置活动的父活动?

use*_*893 5 android android-activity android-actionbar up-navigation android-navigation

我有任意数量的分层嵌套视图/活动.操作栏应显示向上导航按钮以在任何视图中导航到更高级别.为此,谷歌文档说我必须在活动的xml定义中使用标记设置父活动.但是,我正在动态创建我的活动,并且子元素可以与它的父元素具有相同的活动.

那么如何在运行时将父活动设置为实际的父实例?

Tan*_*.7x 6

这听起来像是混淆了导航和导航.

向上按钮应该是确定性的.从给定的屏幕,向上按钮应始终将用户带到同一屏幕.

后退按钮不应始终将用户带到同一屏幕.后退按钮的目的是帮助用户按时间顺序返回应用程序.它应该将用户带到上一个屏幕.

如果没有明确的屏幕层次结构(例如,没有父/子屏幕),那么您可能根本不需要实现导航.

请参阅:使用向上和向后导航

覆盖默认向上按钮行为的一个选项是简单地拦截按钮单击并自己处理它.例如:

@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);
}
Run Code Online (Sandbox Code Playgroud)