Actually DetailActivity(need to pass arguments) is present in Library module and I need to launch it from app (FragmentA) but I am getting Build error as follows:
Too many arguments for public final fun actionFragmentAToDetailActivity()
I am using SafeArgs library to pass data.
FragmentA
findNavController().navigate(
FragmentADirections.actionFragmentAToDetailActivity(
"id",
"name"
)
)
nav_graph_app.xml (Present in app module)
<navigation
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/fragment_a_navigation"
app:startDestination="@id/fragmentA">
<fragment
android:id="@+id/fragmentA"
android:name="com.abhishek.fragmentA"
android:label="WeeklyWorkListFragment"
tools:layout="@layout/fragment_a">
<action
android:id="@+id/action_fragmentA_to_DetailActivity"
app:destination="@id/detail_activity" />
</fragment>
</navigation>
nav_graph_common_component.xml (present in Library project which is included as a library module in build.gradle of app)
<navigation
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/common_component_navigation"
<activity
android:id="@+id/detail_activity"
android:name="com.components.DetailActivity"
android:label="DetailActivity"
tools:layout="@layout/activity_detail">
<argument
android:name="id"
app:argType="string" />
<argument
android:name="name"
app:argType="string" />
</activity>
</navigation>
Any help or guidance will be well appreciated.
You just need to add:
<include app:graph="@navigation/nav_graph_common_component" />
in your nav_graph_app.xml