gpt4 book ai didi

android - findFragmentByTag() 始终返回 null - Android

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

在我的应用程序中,我有一个主要 Activity 和几个 fragment 。当用户单击后退按钮时, fragment 一个接一个地弹出。我想确定当前在返回堆栈中的 fragment 。所以用来通过 fragment 标签名来识别 fragment 。我使用以下代码段来获取 fragment 标签名称,但它总是返回空值。

FragmentManager fm = MainActivity.this.getSupportFragmentManager();
String fragmentTag = fm.getBackStackEntryAt(fm.getBackStackEntryCount() - 1).getName();

请帮忙。

编辑,

用标签替换 fragment ,

FragmentManager fm = MainActivity.this.getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.activity_main_content_fragment, fragment, text);

最佳答案

您需要在添加/替换 TAG 时提及它:

ft.replace(R.id.container, newFragment,"fragment_tag_String");

ft.add(R.id.container, newFragment,"fragment_tag_String");

将 fragment 添加到 BackStack 中:

ft.addToBackStack("fragment_tag_String");

然后你可以重用它

getSupportFragmentManager().findFragmentByTag("fragment_tag_String");

引用:

编辑:

交易完成后调用getSupportFragmentManager().executePendingTransactions()

FragmentManager fm = MainActivity.this.getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.activity_main_content_fragment, fragment, text);
ft.commit();
fm.executePendingTransactions();

希望对你有帮助 ツ

关于android - findFragmentByTag() 始终返回 null - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26988588/

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