I have problem in my HomeRegisterer class. I didn’t understand where the problem in my HomeRegisterer class
java.lang.NoSuchMethodError: No static method composable$default(Landroidx/navigation/NavGraphBuilder;Ljava/lang/String;Ljava/util/List;Ljava/util/List
interface NavigationRegisterer {
fun registerGraph(navController : NavHostController, navGraphBuilder: NavGraphBuilder)
}
class HomeNavRegisterer : NavigationRegisterer {
override fun registerGraph(navController: NavHostController, navGraphBuilder: NavGraphBuilder) {
navGraphBuilder.composable(Screens.HomeScreen.route) {
HomeScreen()
}
}
}
interface NavStarter {
fun startHomeScreen() : NavigationRegisterer
}
class NavStarterImpl: NavStarter{
override fun startHomeScreen(): NavigationRegisterer {
return HomeNavRegisterer()
}
}
@Module
@InstallIn(SingletonComponent::class)
object NavModule {
@Provides
@Singleton
fun provideStarter(): NavStarter {
return NavStarterImpl()
}
}
@Composable
fun NavGraph(navController: NavHostController, starterImpl: NavStarter) {
NavHost(navController = navController, startDestination = Screens.HomeScreen.route ) {
starterImpl.startHomeScreen().registerGraph(navController = navController, navGraphBuilder = this)
}
}
@AndroidEntryPoint
class MainActivity : ComponentActivity() {
@Inject
lateinit var starter : NavStarter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
NavigationExamplesTheme {
val navController = rememberNavController()
NavGraph(navController = navController, starterImpl = starter)
}
}
}
How can I solve this problem? Thanks in advance for your helping