得到的最新片段backstack [英] get the latest fragment in backstack
本文介绍了得到的最新片段backstack的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我怎样才能获得最新的片段,比如在backstack加(如果我不知道该片段标记和ID)?
FragmentManager fragManager = activity.getSupportFragmentManager();
FragmentTransaction fragTransacion = fragMgr.beginTransaction();
/ ****添加后,更换片段
(一些片段被添加到backstack,有些则不是)*** /
//这里,我怎样才能从backstack最新添加的片段?
解决方案
您可以使用FragmentManager.BackStackEntry的GetName方法是在API级别14引入,此方法将返回一个字符串,它可以检查存储在addTobackStack字符串片段交易过程中(STR)的方法。
FragmentManager.BackStackEntry backEntry=getFragmentManager().getBackStackEntryAt(getActivity().getFragmentManager().getBackStackEntryCount()-1);
字符串str = backEntry.getName();
片段片段= getFragmentManager()findFragmentByTag(STR)。
您需要确保你所添加的片段backstack这样
fragmentTransaction.addToBackStack(STR);
How can I get the latest fragment instance added in backstack (if I do not know the fragment tag & id)?
FragmentManager fragManager = activity.getSupportFragmentManager();
FragmentTransaction fragTransacion = fragMgr.beginTransaction();
/****After add , replace fragments
(some of the fragments are add to backstack , some are not)***/
//HERE, How can I get the latest added fragment from backstack ??
解决方案
You can use getName method of FragmentManager.BackStackEntry which is introduced in API level 14 and this method will return a string which you can check as the string stored in addTobackStack(str) method during fragment transaction.
FragmentManager.BackStackEntry backEntry=getFragmentManager().getBackStackEntryAt(getActivity().getFragmentManager().getBackStackEntryCount()-1);
String str=backEntry.getName();
Fragment fragment=getFragmentManager().findFragmentByTag(str);
You need to ensure that you have added the fragments in backstack like this
fragmentTransaction.addToBackStack(str);
这篇关于得到的最新片段backstack的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文