![](/img/trans.png)
[英]Android fragment backstack (change ui on latest change same fragment)
[英]Change the position of backstack fragment in android?
目前,我有一個像這樣的Fragment堆棧。
F1 - > F2 - > F3 - > F4 - > F5
在一項活動中,我有一個按鈕B1 。
我的問題是,當我從活動中按下B1按鈕時,如何更新片段堆棧,如下所示。
F2 - > F3 - > F4 - > F5 - > F1。
我在addtobackstack時使用了字符串標簽。
我用這段代碼解決了這個問題:
public void fragmentInflater(Fragment newFragment) {
FragmentTransaction transaction;
FragmentManager fragmentManager = getSupportFragmentManager();
transaction = fragmentManager.beginTransaction();
Fragment oldFragment = fragmentManager.findFragmentByTag(newFragment.getClass().getName());
if (oldFragment == null) {
transaction.replace(R.id.container, newFragment, newFragment.getClass().getName());
transaction.addToBackStack(null);
} else {
transaction.replace(R.id.container, oldFragment, newFragment.getClass().getName());
}
transaction.commit();
}
使用此方法將碎片添加到容器中,您將實現您想要的效果。 它還可以防止將重復的片段添加到容器中。
您可以在代碼中使用Stack來解決此問題。 在片段事務中,您必須使用add而不是替換片段。 在按鈕B1上按下你必須從堆棧彈出片段F1,然后你必須再將它推到堆棧。 我認為它可能適合你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.