我有同样的问题在这里问。 我想申请接受的答案。 但是我无法做到这一点,因为IDE说: Thread.currentThread().wait(); “等待”是一个未解决的参考。 我在Android Studio中使用kotlin,所以也许kotlin插件导致这个问题。 在首选项的插件部分中提到,我已经安装了1.0.6-release-Studio2.2-1 kotlin版本。 而在项目build.gradle: buildscript { ext.kotlin_version = ‘1.0.6’ repositories { jcenter() } dependencies { classpath ‘com.android.tools.build:gradle:2.2.3’ classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” classpath “io.realm:realm-gradle-plugin:2.3.0” // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } 如果我将kotlin_version更改为1.0.6-release-Studio2.2-1 Ide指出Kotlin version that is used for building with […]
我正在尝试在IDEA中构建一个Kotlin项目,而不使用Maven Central(我在防火墙之后)。 我在本地创建了一些flatDir存储库,以获得必要的依赖关系,这些依赖关系如文档中所述进行设置和编译。 我正在进步,消除错误只是为了获得新的。 但我无法弄清楚我在这里做错了什么。 当我尝试导入Gradle项目时,Intellij IDEA正在抛出这个对话框。 建立脚本错误,发现不支持的Gradle DSL方法:’compile()’! 可能的原因可能是: – 您正在使用的Gradle版本中没有方法(修复Gradle设置) – 您没有应用提供方法的Gradle插件(Apply Gradle插件) – 或者在构建脚本中存在错误资源) 如何让Kotlin和Gradle在离线状态下在本地建立? UPDATE 我试图运行以下修改 buildscript { repositories { flatDir { dirs += ‘H:/Processes/Development/libraries/kotlin’ dirs += ‘H:/Processes/Development/libraries/apache-commons’ } } dependencies { classpath ‘org.apache.commons:commons-lang3:3.+’ classpath ‘org.jetbrains.kotlin:kotlin-runtime:1.0.+’ classpath ‘org.jetbrains.kotlin:kotlin-compiler-embeddable:1.0.+’ classpath ‘org.jetbrains.kotlin:kotlin-stdlib:1.0.+’ classpath ‘org.jetbrains.kotlin:kotlin-gradle-plugin:1.0.+’ classpath ‘org.jetbrains.kotlin:kotlin-gradle-plugin-core:1.0.+’ classpath ‘org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.0.+’ } } apply plugin: ‘kotlin’ […]
在mainActivity上用Kotlin创建了一个recyclerView。 它工作得很好。 我想现在将我的代码转移到一个新的类从MainActivity调用该类,并以这种方式激活recyclerView。 在mainActivity中调用该类,但是显然这还不够… var newClass: NewClass = NewClass() 如何使用recyclerView调用类或如何激活它? 添加了newClass的调用。 想要删除所有这些行。 谢谢 这是我在onCreate上的代码: enter code here var newClass: NewClass = NewClass() rowsList = ArrayList() layoutManager = LinearLayoutManager(this) adapter = RowListAdapter(rowsList!!, this) rowsListRv.layoutManager = layoutManager rowsListRv.adapter = adapter //load data var model = TableViewModel() var dataFromModel: ArrayList = model.getData() for (i in 0..dataFromModel.size – 1) […]
这与KotlinJS (将Kotlin转换为JavaScript)相关: Kotlin有一个dynamictypes,如下所示: val dyn: dynamic =”String” dyn.thisMethodDoesNotExist(1,2,3) 将不会执行任何types检查,代码将被“按原样”放入生成的JS文件中。 “动态最奇特的特点是允许我们用动态variables上的任何参数调用任何属性或函数” 虽然这个概念对我来说很有意义,但我一直在想,在什么情况下我们需要这个function。 有没有人有具体的例子或用例? Kotlin允许我们编写types安全的 JavaScript,这是利用转译事物的原因之一,对吗? 为什么我们要放弃并使用动态呢?
将我的Android应用程序Java代码转换为Kotlin,并使用数据绑定将自定义字体设置为TextViews。 我曾经从XML传递字符串如下 app:customFont=”@{‘harmonia-semibold.ttf’}” 在将@BindingAdapter转换为kotlin之后,上面的代码行不能正常工作,并且抛出了expr或者lambdaexpression式,所以得到”’错误。 用getter方法取代硬编码的字符串值是完美的。 下面是我的绑定适配器,不知道为什么不采取硬编码的字符串 @JvmStatic @BindingAdapter(“app:customFont”) fun setCustomFont(textView: TextView, font: String) { textView.typeface = Typeface.createFromAsset(textView.context.assets, font) } 谢谢
我有一个Android项目,我最近更新了1.1.3,每次我建立我得到以下错误: Error:Execution failed for task ‘:app:compileDebugJavaWithJavac’. > kotlin.jvm.internal.FunctionReference.(ILjava/lang/Object;)V 其他问题通常说,这意味着stdlib不包括在内,但我已经明确添加它。 使用1.1.2-5虽然工作,并且1.1.3已经为其他项目工作。 解 问题出在我与kapt混合的注释处理器。 对于像DbFlow和Glide这样的项目,annotationProcessor依赖可以直接与kapt一起使用。 回到原来的问题: 这是我的Travis日志,下面是我的依赖关系: dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) androidTestCompile(‘com.android.support.test.espresso:espresso-core:2.3-alpha’, { exclude group: ‘com.android.support’, module: ‘support-annotations’ }) testCompile ‘junit:junit:4.12’ compile(“ca.allanwang:kau:${KAU}”) compile “org.jetbrains.kotlin:kotlin-stdlib-jre7:${KOTLIN}” testCompile “org.jetbrains.kotlin:kotlin-test-junit:${KOTLIN}” debugCompile “com.squareup.leakcanary:leakcanary-android:${LEAK_CANARY}” releaseTestCompile “com.squareup.leakcanary:leakcanary-android-no-op:${LEAK_CANARY}” releaseCompile “com.squareup.leakcanary:leakcanary-android-no-op:${LEAK_CANARY}” testCompile “com.squareup.leakcanary:leakcanary-android-no-op:${LEAK_CANARY}” compile “com.github.Raizlabs.DBFlow:dbflow:${DBFLOW}” compile “com.github.Raizlabs.DBFlow:dbflow-core:${DBFLOW}” annotationProcessor “com.github.Raizlabs.DBFlow:dbflow-processor:${DBFLOW}” kapt “com.github.Raizlabs.DBFlow:dbflow-processor:${DBFLOW}” compile “com.github.Raizlabs.DBFlow:dbflow-kotlinextensions:${DBFLOW}” […]
我想共享文本在我的CardView使用共享意图使用KOTLIN,但有一个问题,最后一行代码在KOTLIN代码 val shareIntent = Intent() shareIntent.action = Intent.ACTION_SEND shareIntent.putExtra(Intent.EXTRA_STREAM, “ali”) shareIntent.type = “text/plain” startActivity(Intent.createChooser(shareIntent, getResources().getText(R.string.send_to))) 这是代码中的问题 startActivity(Intent.createChooser(shareIntent, getResources().getText(R.string.send_to))) 请帮帮我 看图像来理解我 图片 https://ibb.co/jQwYXw https://ibb.co/id0tXw https://ibb.co/fbCU5G 适配器完整的代码 class MyAdapter(context: Context, listItem: ArrayList) : RecyclerView.Adapter() { var Context = context var movieList = listItem; var layoutInflator = LayoutInflater.from(context) override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): MyViewHolder { var inflateView […]
我发现它只能访问set中的后台字段或get。是否有任何方法可以在类的其他地方访问后台字段? 例如。 var width:Int=0 get() { return field*10; } set(value) { field=value/10; } 我想获得真正的价值,但不是它的倍数10 当我使用C#,没有字段的关键字,所以总是需要声明一个新的variables来存储真实的数据。在前面的例子中,它将是 private var _width=0; var width:Int get() { return _width*10; } set(value) { _width=value/10; } 所以如果我想访问类中的实际价值,我可以访问_value。 但是在kotlin中,有没有这些详细的声明可以访问后台?
我有一个配置了Gradle和Kotlin的项目。 这是一个命令行工具,我想能够从我的终端运行生成的jar。 但是,我得到以下错误: Exception in thread “main” java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics at com.autentia.impt.MainKt.main(Main.kt) Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) … 1 more 我的gradle配置如下: buildscript { ext.kotlin_version = ‘1.2.20’ ext.junit_platform_version = ‘1.0.1’ ext.junit_version = ‘5.0.0’ ext.moshi_version = ‘1.5.0’ ext.jna_version = ‘4.5.0’ repositories { mavenCentral() } dependencies { classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” classpath “org.junit.platform:junit-platform-gradle-plugin:$junit_platform_version” } […]
我从kotlin例子中拿出了这个简单的代码片段: fun main(args: Array) = runBlocking { withTimeout(1300L) { repeat(1000) { i -> println(“I’m sleeping $i …”) delay(500L) } } } 当我尝试运行它时,它会抛出 java.lang.NoSuchMethodError: kotlinx.coroutines.experimental.ScheduledKt.withTimeout$default(JLjava/util/concurrent/TimeUnit;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Ljava/lang/Object; 我用kotlinVersion =’1.1.51′ 有什么建议?