我正在尝试使用Kotlin构建我的第一个Android应用程序,但是我陷入了一个非常简单的情况。 我正在使用Kotlin android扩展,我得到一个空指针exception。 用这个我用了 tvGoToRegisterFrag.setOnClickListener { goToRegister() } 我知道我可以使用 tvGoToRegisterFrag?.setOnClickListener { goToRegister() } 为了摆脱崩溃,但我仍然不知道为什么该对象是空的,单击时不做任何事情。 所有这些都是在片段中完成的,如果这改变了任何东西。
最近我发现Kotlin是一种语言,因为我们开发的平台是基于Java 6的,因此近年来没有任何语法糖给Java。 只有一件事使得在开发中不可能使用Kotlin而不是Java,也就是说,我们开发的平台在内部使用了一些反思,并要求成员公开。 否则将无法正常工作。 所以,从Kotlin文件生成的字节码实际上产生了公共的getter和setter,这些字段本身仍然是私有的。 有办法克服这个,所以我得到真正的公共领域? 我意识到需要公共领域的设计失败,但是这个系统对我们来说是一个黑盒子,我们不能改变它必须这样的事实。
当使用Kotlin为Android项目启用ProGuard时,Gradle构建失败,并显示以下错误: 警告:HomeChargerLocation:找不到引用类kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck 警告:HomeChargerLocation $地址:找不到引用的类kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck 警告:HomeChargerLocation $地址$创建者:找不到引用类kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck 警告:HomeChargerLocation $ Car:找不到引用类kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck 警告:HomeChargerLocation $ Car $ Creator:找不到引用类kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck 警告:HomeChargerLocation $创建者:找不到引用类kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck 警告:处理任务java.io.IOException时发生exception:请先纠正上述警告。 相应的类: https : //gist.github.com/makovkastar/cfa4bf1bea38556279f20eef46001cf8 我认为这与Kotlin实验包中的@Parcelize注解有关,因为当我们开始使用它时,问题就出现了。 更新 :我在Kotlin错误跟踪器中创建了一个问题 – https://youtrack.jetbrains.com/issue/KT-21628
问题 我只是试图将自定义的AndroidJUnitRunner类从Java转换到Kotlin。 码 CustomTestRunner.java public class CustomTestRunner extends AndroidJUnitRunner { @Override public Application newApplication(ClassLoader cl, String className, Context context) throws IllegalAccessException, ClassNotFoundException, InstantiationException { return super.newApplication(cl, TestApp.class.getName(), context); } } CustomTestRunner.kt – (导致错误 – 请参阅下面的堆栈跟踪) class CustomTestRunner : AndroidJUnitRunner() { override fun newApplication(cl: ClassLoader, className: String, context: Context): Application { return super.newApplication(cl, TestApp::class.java.name, context) } […]
是否有可能在JavaFX中顺利地改变效果? 我已经尝试了很多选择,但没有任何工作。 例如 – Java: void effectChange(Node node) { // Node Effect = ColorAdjust (0.0, 0.0, 0.0, 0.0) KeyValue keyValue = new KeyValue(node.effectProperty(), new ColorAdjust(-0.8, 0.0, 0.0, 0.0)); KeyFrame keyFrame = new KeyFrame(Duration.seconds(2.0), keyValue); Timeline timeline = new Timeline(keyFrame); timeline.play(); } 例如 – Kotlin: fun effectChange(node: Node) { // Node Effect = ColorAdjust (0.0, 0.0, […]
每当我构建时得到这个错误: Error:java.lang.UnsupportedOperationException: Unresolved local class: com/toppr/dubbio/v3/base/BaseSocketActivity$serviceConnection$1 at org.jetbrains.kotlin.descriptors.NotFoundClasses$classes$1.invoke(NotFoundClasses.kt:44) at org.jetbrains.kotlin.descriptors.NotFoundClasses$classes$1.invoke(NotFoundClasses.kt:32) at org.jetbrains.kotlin.storage.LockBasedStorageManager$MapBasedMemoizedFunction.invoke(LockBasedStorageManager.java:408) at org.jetbrains.kotlin.storage.LockBasedStorageManager$MapBasedMemoizedFunctionToNotNull.invoke(LockBasedStorageManager.java:483) at org.jetbrains.kotlin.descriptors.NotFoundClasses.getClass(NotFoundClasses.kt:101) at org.jetbrains.kotlin.serialization.deserialization.TypeDeserializer$typeConstructor$1.invoke(TypeDeserializer.kt:120) at org.jetbrains.kotlin.serialization.deserialization.TypeDeserializer.typeConstructor(TypeDeserializer.kt:124) at org.jetbrains.kotlin.serialization.deserialization.TypeDeserializer.simpleType(TypeDeserializer.kt:82) at org.jetbrains.kotlin.serialization.deserialization.TypeDeserializer.type(TypeDeserializer.kt:70) at org.jetbrains.kotlin.serialization.deserialization.TypeDeserializer.type$default(TypeDeserializer.kt:62) at org.jetbrains.kotlin.serialization.deserialization.MemberDeserializer.loadProperty(MemberDeserializer.kt:67) at org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedMemberScope.computeProperties(DeserializedMemberScope.kt:123) at org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedMemberScope.access$computeProperties(DeserializedMemberScope.kt:35) at org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedMemberScope$properties$1.invoke(DeserializedMemberScope.kt:61) at org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedMemberScope$properties$1.invoke(DeserializedMemberScope.kt:35) at org.jetbrains.kotlin.storage.LockBasedStorageManager$MapBasedMemoizedFunction.invoke(LockBasedStorageManager.java:408) at org.jetbrains.kotlin.storage.LockBasedStorageManager$MapBasedMemoizedFunctionToNotNull.invoke(LockBasedStorageManager.java:483) at org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedMemberScope.getContributedVariables(DeserializedMemberScope.kt:137) at org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor$DeserializedClassMemberScope.getContributedVariables(DeserializedClassDescriptor.kt:232) at org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedMemberScope.addFunctionsAndProperties(DeserializedMemberScope.kt:185) at org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedMemberScope.computeDescriptors(DeserializedMemberScope.kt:153) at org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor$DeserializedClassMemberScope$allDescriptors$1.invoke(DeserializedClassDescriptor.kt:218) at org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor$DeserializedClassMemberScope$allDescriptors$1.invoke(DeserializedClassDescriptor.kt:211) at org.jetbrains.kotlin.storage.LockBasedStorageManager$LockBasedLazyValue.invoke(LockBasedStorageManager.java:323) at […]
我已经配置我的build.gradle运行gradle test和gradle run正常gradle run 。 但是,在导入由gradle idea生成的配置后,IDEA不显示任何run/test任务。 看来这些任务根本不包括在ipr / iws中。 这是我的build.gradle : buildscript { ext.kotlin_version = ‘1.2.0’ repositories { maven { url “http://maven.aliyun.com/nexus/content/groups/public/” } } dependencies { classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” classpath “org.jetbrains.dokka:dokka-gradle-plugin:$dokka_version” classpath ‘org.junit.platform:junit-platform-gradle-plugin:1.0.2’ } } apply plugin: ‘kotlin’ apply plugin: ‘org.jetbrains.dokka’ apply plugin: ‘application’ apply plugin: ‘org.junit.platform.gradle.plugin’ apply plugin: ‘idea’ dokka { outputFormat = ‘html’ […]
我有一块如下所示的kotlin代码, gson.fromJson<Map>(data, object : TypeToken<Map>() {}.type) Detekt不喜欢它,并投诉EmptyClassBlock – [] 有什么办法可以解决吗?
我已经写了一个使用Kotlin的应用程序,它具有所有使用Fragment / Activity的集成。 现在我正在整合Facebook Ads SDK ,但是尽快依赖获取同步,应用程序代码开始在编译时抛出编译错误。 implementation ‘com.facebook.android:facebook-android-sdk:[4,5)’ 其中大部分与我在应用程序中如何使用kotlin null断言有关。 PFA。 任何机会FB SDK改变了默认属性,但是怎么会有这个可能,虽然这已经添加为外部SDK。 任何建议是什么问题,如何解决?
在java中, abstract class NumericValue{ private String a; private String b; public String getA() { return a; } public void setA(String a) { this.a = a; } public String getB() { return b; } public void setB(String b) { this.b = b; } @Override public boolean equals(Object o) { if (this == o) return true; if […]