Fragment Back Stack

问题描述 投票:0回答:1

我有3个片段,例如片段1,片段2,片段3

这些都是使用替换事务打开的,并且在每个片段的OnViewCreated中都实现了api。

现在,当我从第二个片段移动到第三个片段时,应该删除第二个片段,并且堆栈中应该只有第一个片段。

问题是,当我从第二个移动到第三个时,应该调用运行良好的第三个api,但与此同时,也要调用第一个片段的api。

我不希望在调用第三个片段时调用第一个片段。

android android-studio android-fragments kotlin back-stack
1个回答
0
投票

[抱歉,但是您的第3片段将不会调用第1片段的功能,除非您使用viewPager或Tabs来实现。如果您不希望将第二个片段放在堆栈中,只需从片段附加中删除.addToBackStack()函数。

getSupportFragmentManager().beginTransaction()
.replace(R.id.container, firstFragment)
.addToBackStack(null).commit();

getSupportFragmentManager().beginTransaction()
.replace(R.id.container, secondFragment).commit();

getSupportFragmentManager().beginTransaction()
.replace(R.id.container, thirdFragment)
.addToBackStack(null).commit();
© www.soinside.com 2019 - 2024. All rights reserved.