我想知道如何在使用Hilt for DI时将运行时参数传递给ViewModel的构造函数?在使用Hilt之前,我有一个如下所示的ViewModel: class ItemViewModel(private val itemId: Long) : ViewModel() {
privateViewModelProvider(this, viewModelFactory).get(ItemViewModel::class.java
我需要使用导航,也需要在每个屏幕中使用SharedViewModel实例。这是我试过的。MainActivity : ComponentActivity() { private val viewModelSharedViewModel,我将一个实例传递给每个可组合函数。但是,我看到我们可以使用以下方法在每个可组合的视图模型中直接注入一个实例:
fu
我使用句柄在viewModel中注入我想要的一切,我发现句柄通过@ViewModelInject支持SavedStateHandle,所以传递给它的任何捆绑数据都可以在我想要的时候被取回。: "defaultValue"class TestFragment : Fragment() {
private val viewModel:TestViewModel by viewModels() // How to pass bundle to the
java.lang.InstantiationException: java.lang.Class<com.comp.app.winners.WinnersViewModel> has no zero argument constructorkapt "com.google.dagger:hilt-compiler:$hilt_version"
implementation "androidx.<
我已经创建了视图模型和存储库,在构造函数中,我在视图模型和存储库类中将application上下文作为参数传递,但是它的显示错误和应用程序正在崩溃。java.lang.Class.newInstance(Native Method)HistoryViewModel.java
public class HistoryViewModel extends ViewModel