gpt4 book ai didi

java - 在 fragment 被分离然后重新附加后, fragment onResume 不会被调用

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:07:13 26 4
gpt4 key购买 nike

我正在尝试掌握所有新的 ActionBar 和 Fragments API。我有一个主要 Activity ,我希望它管理两个不同的选项卡。我正在使用 ActionBarSherlock 以支持比 ICS 更旧的版本。

每个选项卡都包含自己的Fragment(每个都是SherlockListFragment的子类)我让它工作得很好,但我有一个问题,我确定那是愚蠢的,但我还无法弄清楚:

第一次显示每个 Fragment 时,一切正常,列表已填充,ActionBar 中的 MenuItems 也已填充。

但是当您第二次看到选项卡时(切换并返回后),列表和 ActionBar MenuItems 都没有填充。

这就是我切换标签的方式:

@Override
public void onTabSelected(Tab tab, FragmentTransaction transaction) {
SherlockListFragment toAttach = // Find the right fragment here...

if (toAttach != null) {
if (toAttach.isAdded() == false) {
transaction.add(R.id.tab_placeholder, toAttach,
REMINDER_FRAGMENT_TAG);
} else {
transaction.attach(toAttach);
}
}
}

然后 onTabUneselect 我正在分离 fragment :

@Override
public void onTabUnselected(Tab tab, FragmentTransaction transaction) {
SherlockListFragment toDetach = // Find the right fragment
if (toDetach != null) {
transaction.detach(toDetach);
}
}

我在 onResume 中填充列表和 ActionBar 菜单:

@Override
public void onResume() {
super.onResume();
setHasOptionsMenu(true);
fillRemindersList();
}

我也在 onStart 和 onCreateView 中尝试过,但没有帮助...

那么我在这里缺少什么?如果我的代码中还有其他我不知道的问题,请告诉我。

谢谢!

编辑:

我刚刚确认 onResume 在我切换选项卡后不会被调用,这绝对是错误的,因为我正在分离并重新附加它们......我是否以错误的方式切换标签页?

最佳答案

尝试在 onTabUnselected 中使用 transaction.remove(fragment) 并在 onTabSelected 中使用 transaction.replace。

关于java - 在 fragment 被分离然后重新附加后, fragment onResume 不会被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10306147/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com