Android片段:片段显示时始终*调用生命周期方法*

每当向用户显示片段时,我都需要执行一些代码.

通过API查看我能看到的最接近的钩子方法是onResume.但是,从调试到我的代码时,似乎当用户选择后退按钮返回到先前显示的片段时,不会调用onResume.

只是为了澄清我所看到的行为:

我有一个’父’活动,用于配置ActionBar中的标签…以及2个片段F1和F2.

用户选择一个选项卡,F1将加载到活动中.按下按钮,用户可以导航到F2.这不是一个单独的选项卡… F2被交换到布局中.

添加日志语句,我可以看到当用户选择F2上的后退按钮时,会发生以下情况….

1)在F2上调用onPause().
2)F1被加载到活动中……但是没有调用F1上的onResume()

目前日志中没有错误.

在这里做错了什么想法?

提前致谢,

尼尔.

解决方法

好吧,似乎这个是飞行员错误.我在活动中片段之间切换的原始代码是….
public void switchFragment(Fragment newFragment,String tag) {
    getSupportFragmentManager()
            .beginTransaction()
            .add(android.R.id.content,newFragment)
            .addToBackStack(tag)
            .commit();
}

上面代码中对add()的调用实际上应该是replace().似乎没有用后退按钮行为替换活动混乱中的片段.

必须诚实并承认我不是100%确定为什么会发生这种情况.但是,在进行更改后,一旦调用了后退按钮,就会在目标片段上调用onResume()方法.

相关文章

###实现效果*本实例主要实现用ViewPage和Fragment实现选项卡...
一、安装 JDK 下载JDK最新版本,下载地址如下: http://www....
这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...