从Android活动导航到片段

时间:2020-04-27 13:31:01

标签: android android-fragments uinavigationcontroller

我目前正在使用Jetpack导航控制器来管理整个应用程序中的导航。但是,我遇到的情况似乎很简单,但找不到解决方案。

从主导航抽屉中,我可以导航到不包含任何片段的活动(Activity2)。主要活动(MainActivity)构造导航控制器并设置导航。

在不包含任何片段的活动中,我想导航到应用程序另一部分的片段,但是根据方法的不同,我遇到了一些探针。

我首先尝试了传统方法:

FragmentManager fm = getSupportFragmentManager();
MyFragment myFragment = new MyFragment();
fm.beginTransaction().replace(?????????, loginFragment).commit();

在这种情况下,我应包括?????????。

我还尝试在Activity2 onCreate中使用NavController:

NavController navController = Navigation.findNavController(??????, R.id.nav_myFragment);

在这种情况下,我会在??????中包含什么?

1 个答案:

答案 0 :(得分:0)

您可以通过对Kotlin使用这样的挂起意图来解决问题

val pendingIntent = NavDeepLinkBuilder(this.applicationContext)
                .setGraph(R.navigation.nav_graph)
                .setDestination(R.id.SecondFragment)
                .createPendingIntent()

            pendingIntent.send()

供Java开发人员使用

PendingIntent pendingIntent = new NavDeepLinkBuilder(this.getApplicationContext())
                .setGraph(R.navigation.nav_graph)
                .setDestination(R.id.SecondFragment)
                .createPendingIntent();

        try {
            pendingIntent.send();
        } catch (PendingIntent.CanceledException e) {
            e.printStackTrace();
        }