android - HiltViewModel 注释类中出现错误应该包含一个 @Inject 注释构造函数
问题描述
错误:如何解决这个问题,即使我没有在视图模型中进行任何注入,也会出现这个奇怪的错误
/Users/user/Documents/Personal/android-in-app-review-engine/Application/app/build/tmp/kapt3/stubs/debug/com/inappreview/code/MainActivityViewModel.java:7: error: [Hilt]
public final class MainActivityViewModel extends androidx.lifecycle.ViewModel {
^
@HiltViewModel annotated class should contain exactly one @Inject annotated constructor.
[Hilt] Processing did not complete. See error above for details.
MainActivity.kt
@AndroidEntryPoint
class MainActivity : AppCompatActivity(), InAppReviewView {
@Inject
lateinit var inAppReviewManager: InAppReviewManager
private val viewModel : MainActivityViewModel by viewModels()
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
viewModel.setInAppReviewView(this)
setOnClickListener()
}
private fun setOnClickListener() {
binding.startReviewProcess.setOnClickListener {
viewModel.startReview()
}
}
override fun showReviewFlow() {
val dialog = InAppReviewPromptDialog()
dialog.show(supportFragmentManager, null)
}
}
MainActivityViewModel.kt
@HiltViewModel
class MainActivityViewModel : ViewModel() {
private lateinit var inAppReviewView: InAppReviewView
/**
* Sets an interface that backs up the In App Review prompts.
* */
fun setInAppReviewView(inAppReviewView: InAppReviewView) {
this.inAppReviewView = inAppReviewView
}
/**
* Start In App Review
* */
fun startReview() {
inAppReviewView.showReviewFlow()
}
}
应用程序.kt
@HiltAndroidApp
class App : Application()
解决方案
由于您没有注入任何东西@HiltViewModel
,因此您只需要在您想要将某些东西注入您的 ViewModel 时才需要它
推荐阅读
- java - 反应式 Spring Security:认证成功后的 AuthenticationCredentialsNotFoundException
- ruby-on-rails - Selenium Net::ReadTimeout 在没有 @javascript 标签的情况下立即通过的测试 - Ruby Cucumber 测试
- javascript - 在javascript中创建带有包装名称的JSON?
- java - Keytool给我?CMD 中的标记
- unity3d - 着色器:Mesh Renderer 和 Sprite Renderer 不遵守排序顺序
- arrays - PyTorch:torch.arange 中的行为不一致
- wpf - 动态添加用户控件
- html - 引导行(改变图像的位置)
- r - 嵌套数据时如何按 FIPS 或状态过滤 GeoJSON 数据
- git - 如何从上游仓库的本地副本创建 Git Fork