- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在使用 kotlin + Rxjava + MVVM 开展一个项目。在开发过程中面临在 Fragment 或 viewholder 中导入 View id 的问题。
import kotlinx.android.synthetic.main.layout.*
未用于 kotlin。
通常 View id 应该从 kotlin 合成布局导入中使用,但它直接从 R.id 导入它不应该发生。
Kotlin 插件版本:org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.40
我的 gradle 文件:
apply plugin: 'com.android.feature'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'idea'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion 27
baseFeature true
defaultConfig {
minSdkVersion 23
targetSdkVersion 27
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
abortOnError false
}
}
dependencies {
api "com.android.support:design:$rootProject.support_library_version"
api "com.android.support:appcompat-v7:$rootProject.support_library_version"
api "com.android.support:recyclerview-v7:$rootProject.support_library_version"
api "com.android.support:support-dynamic-animation:$rootProject.support_library_version"
api "com.android.support:cardview-v7:$rootProject.support_library_version"
api "com.android.support:customtabs:$rootProject.support_library_version"
api "com.android.support.constraint:constraint-layout:1.1.0-beta5"
api 'android.arch.lifecycle:extensions:1.1.0'
api 'androidx.core:core-ktx:0.2'
api "com.google.dagger:dagger:$rootProject.dagger_version"
kapt "com.google.dagger:dagger-compiler:$rootProject.dagger_version"
api "android.arch.persistence.room:runtime:$rootProject.room_version"
kapt "android.arch.persistence.room:compiler:$rootProject.room_version"
testImplementation "android.arch.persistence.room:testing:$rootProject.room_version"
api "android.arch.persistence.room:rxjava2:$rootProject.room_version"
androidTestImplementation "android.arch.core:core-testing:$rootProject.room_version"
testImplementation "android.arch.core:core-testing:$rootProject.room_version"
api "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
api "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
api 'com.jakewharton.timber:timber:4.5.1'
api "com.android.support:multidex:1.0.3"
api "com.github.bumptech.glide:glide:$rootProject.glide_version"
api "jp.wasabeef:glide-transformations:$rootProject.glide_transformation_version"
api 'com.github.bumptech.glide:okhttp3-integration:1.5.0@aar'
api "io.reactivex.rxjava2:rxandroid:$rootProject.rxAndroid_version"
api "io.reactivex.rxjava2:rxjava:$rootProject.rxJava_version"
api "com.google.code.gson:gson:$rootProject.gson_version"
api("com.squareup.retrofit2:retrofit:$rootProject.retrofit_version") {
// exclude Retrofit’s OkHttp peer-dependency module and define your own module import
exclude module: 'okhttp'
}
api "com.squareup.okhttp3:okhttp:$rootProject.okhttp_version"
api "com.squareup.okhttp3:logging-interceptor:$rootProject.okhttp_version"
api "com.squareup.retrofit2:adapter-rxjava2:$rootProject.retrofit_version"
api "com.squareup.retrofit2:converter-gson:$rootProject.retrofit_version"
api 'com.jakewharton.threetenabp:threetenabp:1.0.5'
api "com.google.firebase:firebase-invites:$rootProject.play_services_version"
api "com.google.firebase:firebase-core:$rootProject.play_services_version"
api "com.google.firebase:firebase-config:$rootProject.play_services_version"
api "com.google.firebase:firebase-perf:$rootProject.play_services_version"
api "com.google.firebase:firebase-auth:$rootProject.play_services_version"
api "com.google.firebase:firebase-firestore:$rootProject.play_services_version"
api("com.firebaseui:firebase-ui-auth:$rootProject.firebase_ui_version") {
// exclude Retrofit’s OkHttp peer-dependency module and define your own module import
exclude module: 'play-services-auth'
exclude module: 'firebase-auth'
}
// Required only if Facebook login support is required
api('com.facebook.android:facebook-android-sdk:4.31.0')
api "com.google.android.gms:play-services-auth:$rootProject.play_services_version"
// Required only if Twitter login support is required
api("com.twitter.sdk.android:twitter-core:3.0.0@aar") { transitive = true }
api 'com.jakewharton.rxbinding2:rxbinding-kotlin:2.0.0'
api 'com.jakewharton.rxbinding2:rxbinding-support-v4-kotlin:2.0.0'
api 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7-kotlin:2.0.0'
api 'com.jakewharton.rxbinding2:rxbinding-design-kotlin:2.0.0'
api('com.crashlytics.sdk.android:crashlytics:2.9.1@aar') {
transitive = true
}
}
我也尝试过干净的构建和重建项目。
知道如何解决这个问题吗?
最佳答案
我尝试了几种方法,包括此线程中报告的解决方案。我还发现很多人都面临着这个烦人的问题,如您所见 here
尽管如此,到目前为止对我有用的最接近这个问题的解决方案是从 gradle、Sync
gradle 插件中删除 apply plugin: kotlin-android-extensions
和然后重新添加。
关于android - kotlinx.android.synthetic 未使用的 android studio 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50015465/
我已经尝试了几个小时让 dokka 在 gradle 下工作,但我找不到任何能够解决依赖关系的版本组合。例如 ekolotyluk@MacBook-Pro microservices % ./grad
我正在使用 Android Studio Canary 构建一个新项目,并在为 Jet pack Compose 设置依赖项时将其作为构建输出: Execution failed for task '
我在应用程序中使用外部 API,而反序列化是使用 Kotlinx 序列化包完成的,当 api 结果是多个值的 Int 数组和单个值的原始 int 时,我遇到了问题。我怎样才能避免在此过程中崩溃。有没有
假设我正在上课: @Serializable data class MyClass( @SerialName("a") val a: String?, @SerialName("b")
我在应用程序中使用外部 API,而反序列化是使用 Kotlinx 序列化包完成的,当 api 结果是多个值的 Int 数组和单个值的原始 int 时,我遇到了问题。我怎样才能避免在此过程中崩溃。有没有
我正在尝试使用 kotlinx @Serializable,我遇到了这个问题: 我有以下类(class): @Serializable sealed class GrandParent 第二个: @S
我有一个 Json 输入,例如: { "type": "type_1", "data": { // ... } } data字段可能因 type 而异. 所以,我需要一个
这是我的 pojo 课 @Serializable data class Response( @SerialName("message") val message: String?,
如何使用 kotlinx 序列化来对可选字符串列表进行字符串化?我想执行类似的操作: val json = Json(JsonConfiguration.Stable) val data: List
字符串化时有没有办法忽略空值?当前它呈现为: “字段”:空 如果有一种方法可以根本不渲染空字段,那将是很好的-但我没有找到这样的选择。有人知道这怎么工作吗? 最佳答案 目前尚无法解决,但您可能需要跟踪
我正在为许多第三方 API 生成 JSON。他们中的许多人接受不同对象的列表(JSON 数组),但是,他们都不会接受 "type": "com.mycom.someclass"由于列表的多态性,由 k
我遇到了这样的错误 Unresolved reference: kotlinx 导入语句就像 kotlinx.android.synthetic.main.activity_main.* 粗体代码变为
尝试Kotlin,在项目中配置Kotlin,添加kotlin-android-extensions,还添加依赖项... import kotlinx.android.**synthetic**.mai
迁移到 AndroidX 后,我发现在一些中,并非所有类的 kotlinx.android.synthetic 字段现在都无法转换为实际类。 Widget has an unresolved type
我想制作一个自定义列表序列化程序,它将安全地解析无效的 json 数组。示例:Int 列表 [1, "invalid_int", 2] 应解析为 [1, 2]。我已经制作了一个序列化器并将其添加到 J
如果我没有指定任何内容,协程默认范围如何工作。让我们看一下这个例子: class MyAppCompatActivity:AppCompatActivity{ fun getContact() {
我正在使用 Java 8 的 LocalDatetime 转换一些代码使用 kotlinx-datetime 中的版本而且我找不到任何格式化方法。具体来说,我正在替换 FormatStyle.MEDI
我有一个为网络流量序列化的类。 @Serializable data class Packet(val dataType: String, val payload: Any) 我已经使用 Jav
安卓工作室 3.6 在一个屏幕上,我通过协程进行轮询,如下所示: fun initPoll() = viewModelScope.launch(Dispatchers.M
我注意到代码库中有以下函数,它使用 kotlinx html ,而且很难完全理解: private fun Tag.xrefImpl(prop: KMutableProperty0) = t
我是一名优秀的程序员,十分优秀!