adrielcafe / voyager

🛸 A pragmatic navigation library for Jetpack Compose
https://voyager.adriel.cafe
MIT License
2.27k stars 109 forks source link

ViewModel not found in hilt graph. Please, check if you have a Multibinding #381

Open ArleyPereira opened 1 month ago

ArleyPereira commented 1 month ago

I'm trying to implement Screen Model and Hilt and I'm getting an error

Project: Android native Libiry version: 1.1.0-alpha03 Kotlin: 1.9.0 hilt = "2.50"

Dependencies:

=================================== Voyager - Navigation ===================================

voyager-navigator = { module = "cafe.adriel.voyager:voyager-navigator", version.ref = "voyager" } voyager-screenModel = { module = "cafe.adriel.voyager:voyager-screenmodel", version.ref = "voyager" } voyager-transitions = { module = "cafe.adriel.voyager:voyager-transitions", version.ref = "voyager" } voyager-hilt = { module = "cafe.adriel.voyager:voyager-hilt", version.ref = "voyager" }

=================================== Dagger Hilt ===================================

dagger-hilt = { module = "com.google.dagger:hilt-android", version.ref = "hilt" } hilt-compile = { module = "com.google.dagger:hilt-android-compiler", version.ref = "hilt" }

@AndroidEntryPoint
class MainActivity : ComponentActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        setContent {
            Navigator(LoginScreen()) { navigator ->
                SlideTransition(navigator)
            }
        }
    }

}
class LoginScreen : Screen {
    @Composable
    override fun Content() {
        val screenModel = getScreenModel<LoginViewModel>()
        LoginScreenContent()
    }
}

@Composable
fun LoginScreenContent() {
    Column(
        modifier = Modifier
            .fillMaxSize()
            .background(Color.White)
    ) {

    }
}
class LoginViewModel @Inject constructor() : ScreenModel {

    init {

    }

}

Screenshot at Mar 26 17-49-02

AntsyLich commented 1 month ago

You need to add them to hilt like https://github.com/adrielcafe/voyager/blob/main/samples/android/src/main/java/cafe/adriel/voyager/sample/hiltIntegration/HiltModule.kt