我有一个活动,该活动使用片段来更改视图,而不是启动新活动.可以说我有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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)