Can Korkmaz
02/06/2022, 6:24 PM@Preview
@Composable
fun LoginScreenPreview(){
val navController = rememberNavController()
val main: MainActivity = MainActivity()
val myfactory = MainViewModelFactory(Database.getInstance(main.applicationContext).Dao, main.application)
val viewModel: MainViewModel = viewModel(
factory =myfactory
)
//TextField(value ="xxx", onValueChange ={} )
LoginScreen(navController, viewmodel = viewModel)
}
and viewmodel factory:
class MainViewModelFactory(
private val dataSource: Dao,
private val application: Application
): ViewModelProvider.Factory{
@Suppress("unchecked_cast")
override fun <T : ViewModel> create(modelClass: Class<T>): T {
if (modelClass.isAssignableFrom(MainViewModel::class.java)) {
return MainViewModel(dataSource, application) as T
}
throw IllegalArgumentException("Unknown ViewModel class")
}
}
The login screen only has basic fields such as textfields and a button, but uses data from viewmodel. Can't preview anything as of this state.Francesc
02/06/2022, 6:32 PMCan Korkmaz
02/06/2022, 6:37 PMFrancesc
02/06/2022, 6:51 PMCan Korkmaz
02/06/2022, 7:19 PMFrancesc
02/06/2022, 8:08 PM