小编Pab*_*des的帖子

禁止注入 @HiltViewModel 类,因为它无法正确创建 ViewModel 实例

我试图将用 @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 中?- 或者是旧的警告已经在最新版本的库中修复。

android-viewmodel dagger-hilt

7
推荐指数
1
解决办法
3110
查看次数

Android ViewModel在其主机活动不在活动堆栈顶部且设备已旋转时重新创建

我在以下场景中:

我有一个包含ViewModel的OnboardActivity,我可以多次旋转这个OnboardActivity,并且ViewModel可以在没有问题的情况下保持配置更改.但是,如果我使用startActivityForResult(...)在此(OnboardActivity)之上启动另一个Activity(FirebaseAuthActivity),然后在FirebaseAuthActivity中我旋转设备并按后退按钮.当OnboardActivity被带到堆栈顶部时,它会再次重新创建ViewModel实例.

这是ViewModel在架构组件中的正常行为吗?

有没有办法告诉OnboardActivity从堆栈弹出时屏幕方向与保存的屏幕方向不同?

android android-mvvm android-architecture-components

6
推荐指数
1
解决办法
3247
查看次数