Kotlin:如何将列表转换为与列表映射?

我有一个如下的列表{(“a”,1),(“b”,2),(“c”,3),(“a”,4)} 我想把它转换为如下所示的列表图{(“a”(1,4)),(“b”,(2)),(“c”,(3)))} 即对于一个,我们有一个1和4的列表,因为关键是一样的。 如何在Kotlin中将列表转换为地图的答案? 只显示独特的价值(而不是像我的重复)。 我在Kotlin尝试了associateBy data class Combine(val alpha: String, val num: Int) val list = arrayListOf(Combine(“a”, 1), Combine(“b”, 2), Combine(“c”, 3), Combine(“a”, 4)) val mapOfList = list.associateBy ( {it.alpha}, {it.num} ) println(mapOfList) 但似乎没有工作。 我怎么能在Kotlin做到这一点?

如何使用kotlin显示在recyclerview中选择的单个项目

我们如何使用kotlin标记在Recyclerview选择的单个项目。 当我选择一个项目,然后点击其他项目,那么以前选择的项目应该被取消选择。这里是我的适配器类在kotlin:.. class ListAdapter(var context: Context, var list: ArrayList) : RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): MyViewHolder { val v = LayoutInflater.from(parent?.context).inflate(R.layout.list_item, parent, false) return MyViewHolder(v) } override fun getItemCount(): Int { return list.size } override fun onBindViewHolder(holder: MyViewHolder?, position: Int) { holder?.bindItems(list[position]) } class MyViewHolder(view: View) : RecyclerView.ViewHolder(view){ fun bindItems(items: ListModel) { […]

lateinitVar无法解析使用从Kotlin 1.2.10 isInitialized

我想使用这个function 像这个例子中最简单的东西不适合我: lateinit val foo = 1 val bar = foo::lateinitVar.isInitialized() 但是我越来越 unresolved reference lateinitVar 我在Android-Studio中通过Gradle使用Kotlin 1.2.10(也安装了Kotlin 1.2.10插件)

Android Kotlin – Volley意外的响应代码400

我使用Django制作了REST API,现在我想将它连接到android。 我正在使用Kotlin和Volley库。 我创建的代码,我仍然得到这个错误: E / Volley:BasicNetwork.performRequest:用于http://laude.ct8.pl/api/user/login/的意外响应代码400。 这是我的Kotlin代码: val jsonObj = JSONObject() val LOGIN_API_URL = “http://laude.ct8.pl/api/user/login/” loginBtn.setOnClickListener { jsonObj.put(“username”, username.text) jsonObj.put(“password”, passwd.text) val que = Volley.newRequestQueue(this@MainActivity) val req = JsonObjectRequest(Request.Method.POST, LOGIN_API_URL, Response.Listener { response -> Toast.makeText(this@MainActivity, response.toString(), Toast.LENGTH_LONG).show() }, Response.ErrorListener { error -> Toast.makeText(this@MainActivity, error.toString(), Toast.LENGTH_LONG).show() }) que.add(req) } 我用Content-Type看到了这个问题,所以我尝试了这一行,并将其添加到jsonObj.put(“password”, passwd.text) 。 这里是这一行: jsonObj.put(“Content-Type”, “application/json”) […]

Kotlin / Dropwizard中的子资源定位器

我正在尝试使用Kotlin 1.0.3在Dropwizard 1.0中使用子资源来实现资源。 我有一个示例资源: package net.reznik.stackoverflow.resources import javax.ws.rs.Consumes import javax.ws.rs.Path import javax.ws.rs.PathParam import javax.ws.rs.Produces import javax.ws.rs.core.MediaType @Path(“/test”) @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) class TestResource { @Path(“/{foo}/”) fun subresource(@PathParam(“foo”) foo: String): Any { return TestSubResource() } } 和一个子资源: package net.reznik.stackoverflow.resources import javax.ws.rs.POST import javax.ws.rs.Path import javax.ws.rs.core.MediaType import javax.ws.rs.core.Response class TestSubResource { @POST @Path(“/bar”) fun bar(request: String): Response { return […]

如何检查kotlin中的lambda空虚

如何检查Kotlin中的lambda是否为空? 例如,我有类似的签名 onError:(Throwable) -> Unit = {} 我怎么能不同的是它的默认值来应用到这个函数的身体或价值?

如何覆盖Kotlin中的Java公共类方法?

我需要从Kotlin类中的Java公共类重新定义/重写方法: // Java public class BaseOne { public static void m1() {} } // Kotlin class BaseTwo : BaseOne() { override fun m1() {} } 但得到一个错误: m1 overrides nothing 。 如果我删除override注释,我得到Accidental override: The following declarations have the same JVM signature 。 在Java这工作正常,但不是在Kotlin 🙁 UPD:工作的Java代码 public class BaseTree extends BaseOne { public static void m1() {} […]

使用ubuntu终端添加jar到kotlin文件

我有一个kotlin文件,需要java库中的intelliJ它很容易把一个jar库,但在ubuntu终端,我只是添加jar文件到文件我必须做什么,当我想转换kotlin文件到java运行它由java告诉我很多关于图书馆的错误?

Android应用程序中的Kotlin编译器:连接拒绝主机:127.0.0.1

我正在尝试在Docker中编译多模块android应用程序(这是一个CI构建)。 其中一些模块包含Kotlin源代码。 该构建在本地环境(MacOS)上运行良好,但出于某种原因在CI上失败。 本地环境 MacOS 10.125。 Java版本“1.8.0_121”(Java(TM)SE运行环境(build 1.8.0_121-b13) CI环境 Docker基础镜像openjdk:8-jdk 应用配置 Gradle Wrapper 4.0.-rc1 Android构建工具26 Kotlin版本’1.1.2-2′ gradle.properties(虽然我玩过所有的组合,但都没有奏效) org.gradle.daemon=true org.gradle.parallel=true org.gradle.jvmargs=-Xmx2048M org.gradle.configureondemand=true kotlin.compiler.execution.strategy=in-process 它看起来像是与某个远程进程有关,因为无法连接到它。 我想到了Kotlin和Gradle deamon,但是在玩了很多不同的gradle.properties和其他配置之后,我似乎无法得到一个gradle.properties的配置。 warning: [options] bootstrap class path not set in conjunction with -source 1.7 Using kotlin incremental compilation Using kotlin incremental compilation 1 warning Compilation with Kotlin compile daemon was not successful […]

为什么“返回”在Kotlin中返回“返回”?

这个问题可能听起来很愚蠢,但是没有错字。 fun test(): Any { return return true } 这在Kotlin中实际上是可能的。 虽然编译器警告 无法访问的代码 为外面的回报。 但这只是一个警告。 我不想比较Java和Kotlin,但我有兴趣是否可以在Java中使用。 public class Test { // … static int test() { return return 1; } } 它不是! /Test.java:8:错误:expression式的非法开始 返回1; ^ /Test.java:8:错误:不是一个语句 返回1; ^ 2错误 为什么Kotlin是这样设计的?