我试图将用 @HiltViewModel 注释的 ViewModel 注入到 Fragment 中并收到以下错误:
Injection of an @HiltViewModel class is prohibited since it does not create a ViewModel instance correctly.
Access the ViewModel via the Android APIs (e.g. ViewModelProvider) instead.
Injected ViewModel: com.example.MyViewModel
Run Code Online (Sandbox Code Playgroud)
这是否意味着我不应该使用 Hilt 将 ViewModel 注入到 Fragment 中?- 或者是旧的警告已经在最新版本的库中修复。
我在以下场景中:
我有一个包含ViewModel的OnboardActivity,我可以多次旋转这个OnboardActivity,并且ViewModel可以在没有问题的情况下保持配置更改.但是,如果我使用startActivityForResult(...)在此(OnboardActivity)之上启动另一个Activity(FirebaseAuthActivity),然后在FirebaseAuthActivity中我旋转设备并按后退按钮.当OnboardActivity被带到堆栈顶部时,它会再次重新创建ViewModel实例.
这是ViewModel在架构组件中的正常行为吗?
有没有办法告诉OnboardActivity从堆栈弹出时屏幕方向与保存的屏幕方向不同?