如何从MainActivity获取当前片段

Mmt*_*Bkn 2 android android-fragments fragmentmanager

我已经做了一些研究,但我确实找不到答案。

我有一个带有侧面菜单和支架的单一活动。我有很多(不支持)片段,而且所有片段都使用同一持有人(一次)。

当用户使用菜单(它在主要活动中)并转到另一个页面时,我想将当前片段的名称添加到Backstack中(使用.addToBackStack(Fragment1.class.getName())),但是我找不到如何获取当前片段的方法。

我不想实现接口等来跟踪当前片段。有没有使用fragmentManger的超级简单方法?

And*_*eek 6

您可以像这样获取当前片段:

if (getFragmentManager().getBackStackEntryCount() > 1) {
            Fragment f = getFragmentManager().findFragmentById(R.id.content_frame);
            if (f instanceof BlankFragment) {
                // Do something
            }
}
Run Code Online (Sandbox Code Playgroud)


Mmt*_*Bkn 5

好的,

如果您想从后台获取最新条目(感谢@AndroidGeek);

fragmentManager.getBackStackEntryAt(fragmentManager.getBackStackEntryCount()-1);
Run Code Online (Sandbox Code Playgroud)

并且,如果您想获取当前活动的片段(感谢@Salman500 @AndroidGeek);

Fragment f = getFragmentManager().findFragmentById(R.id.fragment_holder);
Run Code Online (Sandbox Code Playgroud)