草庐IT

kotlin_version

全部标签

android - 资源 $NotFoundException google_play_services_version 在 gradle 和 robolectric 升级之后

我正在尝试将项目更新到Gradle3.0.1/gradlewrapper4.1。当使用./gradlewtestDebugUnitTest运行时,曾经有效的Robolectric测试现在失败了:android.content.res.Resources$NotFoundException:org.odk.collect.android:integer/google_play_services_versionatorg.robolectric.android.internal.ParallelUniverse.setUpApplicationState(ParallelUniverse.

android - Kotlin 通过 Intents 传递自定义对象数组并作为 ArrayList 接收

我有几个Activity,我使用Intents在它们之间传递数据。我想从第一个Activity传递一个自定义对象数组,并在第二个Activity中将其设为数组列表。我的代码是:dataclassAttachment(valName:String,valContent:String)classActivityA{privatevarattachments:Array=arrayOf()funcallB(){intent=Intent(this,ActivityB::class.java).apply{putExtra("Attachments",attachments)}}}classA

java - Android:无法构建 APK。发现多个文件的操作系统独立路径为 'META-INF/android.arch.lifecycle_runtime.version'

突然之间,我在构建APK时遇到了这个错误Error:Executionfailedfortask':app:transformResourcesWithMergeJavaResForDevDebug'.>MorethanonefilewasfoundwithOSindependentpath'META-INF/android.arch.lifecycle_runtime.version'我浏览了很多与META-INF问题相关的StackOverflow帖子,例如exclude'META-INF/***'(LICENSE,NOTICE等等)在packagingOptions中,但它不起作

android - 当我们在 kotlin 中开始新的 Activity 时,为什么我们将 .java 放在 intent 中而不是 .kt

根据kotlin文档,我们使用以下语法开始新ActivitystartActivity(Intent(this@MainActivity,NextActivity::class.java))它是kotlin那么为什么我们在类之后添加.java呢?为什么不呢? 最佳答案 因为NextActivity::class给你KClass,和KClass有一个名为java的方法/扩展属性这给了你java.lang.Class对于给定的类。你甚至可以checkoutthesource-codeforthatjavaproperty.

java - 安卓 : getDrawable and other resources without a version check?

我必须在我的代码中经常进行此类检查,我想知道是否有一种干净的方法来获取资源而无需编写if语句来检查版本。if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){imageView.setImageDrawable(getDrawable(R.drawable.ic_circled_v));}else{imageView.setImageDrawable(getResources().getDrawable(R.drawable.ic_circled_v));} 最佳答案 这是您

android - 为什么 'onBindViewHolder' 没有覆盖 Kotlin?

请帮帮我,我无法在Kotlin的RecyclerView中实现onBindViewHolder。我想在Kotlin语言androidstudio中使用Reyclerview为我的数据卡制作一个适配器。但是当我实现onBindViewHolder时,我的代码会抛出一个错误。请帮忙。packagecom.brid.azis.vipgame.test.Adapterimportandroid.content.Contextimportandroid.support.v7.widget.RecyclerViewimportandroid.view.LayoutInflaterimportand

android - 当给定可空 Int 时,具有大范围的 Kotlin when 语句卡住

我正在使用when语句来检查变量是否在多个相当大的范围内。为简单起见,我的代码如下所示:vallowRange=Int.MIN_VALUE..0valmediumRange=1..999_999//...valvalToCheck=1_000_000when(valToCheck){inlowRange->{doSomething()}inmediumRange->{doSomethingElse()}//...else->{handleTooHighOrNull()}}这很好用;但是,当我使valToCheck可为空时:vallowRange=Int.MIN_VALUE..0valm

android - Kotlin:检查是否为null并直接转换

在我的android应用程序中,我有一张map键的值可以是Int或String或null。目前,我是这样做的:map[key]?.let{valvalue=itasInt//usevaluehere}如果有办法像Swift一样有快捷方式ifletvalue=map[key]as?Int{}所以它就像一条线来检查无效并当场转换 最佳答案 你可以使用(map[key]as?Int)?.let{} 关于android-Kotlin:检查是否为null并直接转换,我们在StackOverflow

android - kotlin 控制流 "while"错误

这个问题在这里已经有了答案:Assignmentsarenotexpressions-Kotlin(2个答案)关闭4年前。我在JAVA中有以下代码:byte[]data=newbyte[1024];intcount;inttotal=0;while((count=input.read(data))!=-1){output.write(data,0,count);total+=count;publishProgress((int)(total*100/sizeFichero));}我正在将我的应用程序更新到Kotlin,但在此期间,我遇到了错误。在这段代码中,我得到以下错误:Assign

android - 如何在 Android Studio 上将 Kotlin 版本从 1.2.51 升级到 1.3

我在将Kotlin版本升级到1.3-M1或1.3-M2时遇到了一些问题我现在正在使用1.2.51,当我尝试使用任何较新版本(如1.3-M2)时遇到的错误是:找不到org.jetbrains.kotlin:kotlin-gradle-plugin:1.3-M2。我猜它已被移动,但我已经查看了所有内容,但没有找到解决方案。谁能指出我正确的方向? 最佳答案 感谢yole和TheWanderer,我找到了丢失的东西。Here在EAP-NEXT选项卡下,您可以找到适用于IntelliJ/AndroidStudio的正确版本的kotlin插件。