草庐IT

kotlin.notimplementederror

全部标签

android - 来自 Transformation 的数据绑定(bind) LiveData - Android Kotlin

我正在学习kotlin和android架构组件。我有一个谷歌地图上的map切换按钮的简单用例。我想使用数据绑定(bind)将map切换按钮标签绑定(bind)到我的ViewModel中的MutableLiveData字段。我通过Activity中的onCreate方法在MapViewModel中设置mapTypeval。如果我理解正确,这应该会触发mapLabelval由于使用Transformations.map而发生变化。它不工作...为什么?这是我的版本:AndroidStudio3.2Canary4kotlin_version='1.2.21'支持="27.1.0"arch_c

kotlin - 如何在 Kotlin 的列表中创建包含每两个项目的 map ?

我正在尝试创建一个从列表中获取两个值并使用第一个值作为键和第二个键作为值的映射,但我不知道该怎么做。假设我有一个如下列表。-e、正常、-t、flat、-s,测试如何从该列表中创建如下所示的map?-e到normal,-t到flat,-s测试 最佳答案 如果你想使用内置函数,chunked可以快速做到这一点:valarguments=listOf("-e","normal","-t","flat","-s","test")valmap:Map=arguments.chunked(2){(switch,value)->switchtov

Kotlin:如何从范围返回一些值?

在Scala中我可以这样写:valsomething={valtemp1=...valtemp2=...temp1+temp2}据我所知,在Kotlin中做同样事情的最佳方法是:valsomething={valtemp1=...valtemp2=...temp1+temp2}()实际上它是一个类型为Unit->Int的lambda,它会立即被调用。我想知道这段代码可以以某种方式改进吗?也许有一个内置函数允许我写valsomething=block{...}或类似的东西? 最佳答案 你可以使用函数run,比如:valsomethin

ternary-operator - Kotlin 等价于三元运算符

这个问题在这里已经有了答案:Howtowriteternaryconditionaloperator?(33个答案)关闭6年前。所以在java中我们有三元运算符(?),它有时对简化if-else内联计算的某些值很有用。例如:myAdapter.setAdapterItems(textToSearch.length==0?noteList:noteList.sublist(0,length-5))我知道kotlin中的等价物是:myAdapter.setAdapterItems(if(textToSearch.length==0)noteListelsenoteList.sublist(

java - 如何在 Kotlin 的 Java 8 流上调用 collect(Collectors.toList())?

我有一些代码:directoryChooser.title="Selectthedirectory"valfile=directoryChooser.showDialog(null)if(file!=null){varfiles=Files.list(file.toPath()).filter{f->f.fileName.endsWith("zip")&&f.fileName.endsWith("ZIP")&&(f.fileName.startsWith("1207")||f.fileName.startsWith("4407")||f.fileName.startsWith("150

kotlin - 处理这种情况的最佳方法是 "smart cast is imposible"

我想知道处理这种情况的最佳方法是什么classPerson(varname:String?=null,varage:Int?=null){funtest(){if(name!=null&&age!=null)doSth(name,age)//smartcastimposible}fundoSth(someValue:String,someValue2:Int){}}调用doSth方法并确保name和age为ntnull的最简单方法是什么?我正在寻找一些简单的东西,比如我会简单地使用let的可变场景name?.let{doSth(it)} 最佳答案

Kotlin 使用 Java 回调接口(interface)

我有一个WebView。我想打电话publicvoidevaluateJavascript(Stringscript,ValueCallbackresultCallback)这个方法。这里是ValueCallback接口(interface):publicinterfaceValueCallback{/***Invokedwhenthevalueisavailable.*@paramvalueThevalue.*/publicvoidonReceiveValue(Tvalue);};这是我的kotlin代码:webView.evaluateJavascript("a",ValueCal

collections - 有没有办法过滤掉 null Any? Kotlin Map 中的值?

我正在考虑一个允许Map的函数。对象被视为Map通过应用单个函数进行类型推断。我对Kotlin中的转换函数非常陌生,并尝试了各种filter和filterValuesfilterNot在map上像这样:valinput=mapOf(Pair("first",null))valfiltered:Map=input.filter{it.value!=null}其中任何一个都无法编译input.filterValues{it!=null}input.filterNot{it.value==null}input.filterNot{it.valueisNothing}我似乎能得到的最接近的是应

Kotlin - 没有 body 的类有什么用?

在Kotlin中,标题和正文都是可选的;如果类没有主体,可以省略花括号。所以我们可以定义类,classEmpty这种类有什么用? 最佳答案 您可以将它用于一些自定义异常:classEmpty:Exception()或作为markerinterface:interfaceEmpty或作为dataclass:dataclassEmpty(vals:String)或作为markerannotation:annotationclassEmpty~这很好post阅读。 关于Kotlin-没有bod

java - 向 kotlin 中的 Math 类添加扩展函数

我在Kotlin中的Math类中添加了一个函数,但我无法使用它,我之前使用MutableList做过这个,它可以工作,但我不能用数学类。funMath.divideWithSubtract(num1:Int,num2:Int)=Math.exp(Math.log(num1.toDouble()))-Math.exp(Math.log(num2.toDouble())) 最佳答案 您不能在静态级别上在Math上使用此扩展,因为扩展仅适用于实例。edit:由于Math无法实例化,因此您将无法在其上使用扩展。如果您真的希望将该方法作为扩展