有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在导航片段中获取onNewIntent()

我想在我的安卓项目中使用导航组件,为了实现这一点,我已经将我的应用程序重构为基于片段的,但它提出了一个问题,我不知道如何将我的MainActivity中的onNewIntent()传递给我的导航片段

所以MainActivity是一个NavHost,简单地说,我有一个片段作为起始目的地,我如何从MainActivity得到这个片段中的onNewIntent()

更新 还有,有没有一种方法可以获得当前呈现片段的引用,比如当前由NavHost持有的片段


共 (2) 个答案

  1. # 1 楼答案

    在new intent上,您可以执行以下操作

        val navigationController = nav_host_fragment.findNavController()
    
        if (navigationController.currentDestination?.id == R.id.fragmentA) {
            (nav_host_fragment.childFragmentManager.fragments[0] as FragmentA).doSomething()
    
        }
    

    在这里,您可以将任何值传递给函数doSomething()

  2. # 2 楼答案

    您可以在MainActivy类中使用以下内容:

    private Fragment fragment;
    
    fragment = new FragmentTry();
    
    getSupportFragmentManager()
                .beginTransaction()
                .replace(R.id.fragmentid, fragment)
                .commit();