合成Android片段Backstack

合成Android片段Backstack,第1张

概述我有一个活动,该活动使用片段来更改视图,而不是启动新活动.可以说我有3个片段A,B和C.启动应用程序时,默认片段设置为A.用户可以单击A上的一个按钮以过渡到B,与B到C相同.因此,堆栈看起来像:[A]->[B]->[C]我需要做的是从通知直接深度链接到片段C,同时仍在构建backstack,以便在启

我有一个活动,该活动使用片段来更改视图,而不是启动新活动.可以说我有3个片段A,B和C.启动应用程序时,默认片段设置为A.用户可以单击A上的一个按钮以过渡到B,与B到C相同.

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

我需要做的是从通知直接深度链接到片段C,同时仍在构建backstack,以便在启动活动时使用.在允许用户单击“后退”按钮分别返回到视图B和A时,应显示片段C.

解决方法:

您可以进行3个单独的交易.这比手动检查Backstack的状态自然得多.

@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片段Backstack全部内容,希望文章能够帮你解决合成Android片段Backstack所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1079060.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存