作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经尝试了所有我能找到的咒语,但仍然无法通过 viewModel 使用。
这里是有问题的代码:
class MainActivity: FlutterActivity(), OnSneakerClickListener, OnSneakerDismissListener {
private val httpclient = OkHttpClient()
val stripe = Stripe(this, "pk_test_yadayadayada")
private val viewModel: StripeIntentViewModel by viewModels() //<--dragons be here
当我手动输入“import androidx.activity.viewModels”时,它显示为“未使用的导入指令”。
我的模块 build.gradle 文件如下所示:
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'checkstyle'
id 'org.jetbrains.kotlin.plugin.parcelize'
}
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
...
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$androidLifecycleVersion"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$androidLifecycleVersion"
implementation "com.google.android.material:material:$materialVersion"
implementation "androidx.fragment:fragment-ktx:$fragmentVersion"
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation "androidx.activity:activity-ktx:1.1.0"
implementation "androidx.fragment:fragment-ktx:1.2.5"
implementation "android.arch.lifecycle:extensions:1.1.1"
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
implementation "androidx.activity:activity-ktx:1.2.0-rc01"
是不是少了什么?
最佳答案
by viewModels()
property extension 是 androidx.activity.ComponentActivity
的扩展,它提供对 ViewModel 的支持(通过 ViewModelStoreOwner
接口(interface))。
FlutterActivity
,根据其 documentation,仅扩展 android.app.Activity
而不会扩展 ComponentActivity
。因此,不可能通过 FlutterActivity
使用 by viewModels()
。
您可以改为使用 FlutterFragmentActivity
,它根据 this issue 扩展了 FragmentActivity
(它本身扩展了 ComponentActivity
)。
关于android - by viewModels 由于接收器类型不匹配,以下候选者均不适用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66018168/
我是一名优秀的程序员,十分优秀!