得到的最新片段backstack [英] get the latest fragment in backstack

查看:106
本文介绍了得到的最新片段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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆