Instantiating ViewModel that needs application parameter causes a render problem in a composable preview

Viewed 42

My preview of a composable is not working and displaying this render problem :

java.lang.ClassCastException: class com.android.layoutlib.bridge.android.BridgeContext cannot be cast to class android.app.Application

My preview code :

@Preview
@Composable
fun MainScreenPrev() {
    val context = LocalContext.current
    val application = context.applicationContext as Application

    val navController = rememberNavController()
    val myViewModel = MyViewModel(application)

    MainScreen(navController = navController, myViewModel = myViewModel)
}

MyViewModel extends AndroidViewModel that has application as parameter. Most examples online show this as the proper way to get application inside a composable. Is there a better practice to get this preview to work ?

0 Answers
Related