有没有更好的方法可以基于源片段在 Android 中导航? [英] Is there better way to navigate in Android based on source fragment?

查看:16
本文介绍了有没有更好的方法可以基于源片段在 Android 中导航?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有片段S1S2PD1D2.

S1S2 都有导致 P 的动作.当我在片段 P 中时,我可以导航到 D1D2.
当我来自 S1 时,我想导航到 D1,但是当我来自 S2 时,我想去 D2em>.

Both S1 and S2 have action leading to P. When I am in fragment P I can navigate to D1 or D2.
When I came from S1 I want to navigate to D1, but when I came from S2 I want to go to D2.

根据源片段进行导航的最佳方式是什么?.

我知道我可以为此使用参数,但这似乎是一个更基本的操作.我希望有一些更清晰、更快捷的解决方案(例如一些方法 getNameOfSource()).

I know I can use arguments for this, but it seems like a much more basic operation. I would expect some more clear and quicker solution (for example some method getNameOfSource()).

推荐答案

您可以使用以下代码获取片段标签:

You can get the fragment tag using this code:

public Fragment getSourceFragmentName() {
    // you need to check this because you need at least 2 fragments at the backstack
    if (getSupportFragmentManager().getBackStackEntryCount() < 2) {
        return null;
    }
    
    String fragmentTag = getSupportFragmentManager().getBackStackEntryAt(getSupportFragmentManager().getBackStackEntryCount() - 2).getName();
    
    return getSupportFragmentManager().findFragmentByTag(fragmentTag);
}

这篇关于有没有更好的方法可以基于源片段在 Android 中导航?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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