gpt4 book ai didi

android - 合成 Android fragment backstack

转载 作者:太空狗 更新时间:2023-10-29 12:39:32 25 4
gpt4 key购买 nike

我有一个使用 fragment 来更改 View 而不是启动新 Activity 的 Activity 。假设我有 3 个 fragment A、B 和 C。当应用程序启动时,默认 fragment 设置为 A。用户可以单击 A 上的按钮以转换到 B——与 B 到 C 相同。

因此后栈看起来像:[A] -> [B] -> [C]

我需要做的是从通知直接深度链接到 fragment C,同时仍然构建后台堆栈,以便在 Activity 启动时。应显示 fragment C,同时允许用户单击后退按钮分别返回 View B 和 A。

最佳答案

您可以进行 3 次单独的交易。这比手动检查后台堆栈的状态要自然得多。

@Override 
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

showFragmentA();

if (getIntent().hasExtra("some_deep_link_flag")) {
showFragmentB();
showFragmentC();
}
}

private void showFragmentA() {
Fragment a = new Fragment();

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

private void showFragmentB() {
Fragment b = new Fragment();

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

private void showFragmentC() {
Fragment c = new Fragment();

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

关于android - 合成 Android fragment backstack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28237654/

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