Kotlin多点击按钮上的听众

所以对于kotlin来说,我想知道如何将多个点击事件添加到xml中定义的按钮中,就像以前在Java中一样,我们实现了View.onClickListener接口,并在onClick方法中完成其余的工作。 例如: @Override public void onClick(View v) { switch (v.getId()) { case R.id.oneButton: // do your code break; case R.id.twoButton: // do your code break; case R.id.threeButton: // do your code break; default: break; } } 我正在用新的Kotlin制作一个基本的计算器应用程序,但似乎Kotlin没有这样的规定,而是我的代码看起来太长而冗长,因为我将事件附加到所有按钮单独。 有人能告诉我如何在科特林做同样的方式吗? 谢谢

Kotlin过程集合并行?

我有一个对象的集合,我需要执行一些转换。 目前我正在使用: var myObjects: List<MyObject> = getMyObjects() myObjects.forEach{ myObj -> someMethod(myObj) } 它工作正常,但我希望通过并行运行someMethod()来加速它,而不是等待每个对象完成,然后再开始下一个对象。 Kotlin有没有办法做到这一点? 也许与doAsyncTask什么的? 我知道一年前这个问题是不可能的, 但是现在Kotlin拥有doAsyncTask这样的协同程序,我很好奇,如果任何协程都可以帮助的话

嘲笑Kotlin的扩展功能

如何在测试中使用Mockito或PowerMock来模拟Kotlin扩展功能? 由于它们是静态解析应该作为静态方法调用还是非静态?

没有找到Kotlin MessageBodyWriter的JAX-RS

我已经用Kotlin和(b)用Java实现了JAX-RS资源(a)。 虽然Java的风格按预期工作,但Kotlin味道失败, MessageBodyWriter not found for media type=application/json, type=class java.util.ArrayList, genericType=java.util.List<? extends ….Entry>.|#] MessageBodyWriter not found for media type=application/json, type=class java.util.ArrayList, genericType=java.util.List<? extends ….Entry>.|#]异常。 这是我的资源 @Path("demokotlin") class DemoKotlinResource { @GET @Path("responseGenericEntityWithArrayList") fun arrayList(): Response { val list = arrayListOf(Entry("responseGenericEntityWithArrayList")) val entity = object : GenericEntity<List<Entry>>(list) {} return Response .status(Response.Status.OK) .entity(entity) .type(MediaType.APPLICATION_JSON).build() } } @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) […]

在Kotlin中获取数字的因子

Kotlin全新,我怎么找到一个数字的因素? 例如24应该给1,2,3,4,6,8,12,24? 我知道如何做这个Python列表的理解,但不知道如何在Kotlin正确做到这一点。

如何在一行中声明多个属性

我正在开发一个类的几个lateinit属性的类。 我认为这样做过于冗长,不能像这样在单独的行中声明它们: lateinit var a: String lateinit var b: String 所以我想要像这样在一行上声明它们: lateinit var b, c: String // error: Property getter or setter expected 但是我得到一个错误Property getter or setter expected 。 有什么办法可以在Kotlin的一行中声明几个属性?

类型在kotlin中不匹配

我是Kotlin语言和面向对象编程的新手,所以我想知道为什么在Android中从类Fragment()继承的类的实例类型是错误的。 这些是我的代码 Fragment.kt class MyFragment: Fragment() { //do something } MainActivity.kt class MainActivity : AppCompatActivity() { val fm : Fragment? = MyFragment() … } 为什么返回MyFragment类型,而不是片段? ?? 谢谢

Kotlin:Sugar ORM坚持了@忽略属性

在我的Android应用程序中,我正在使用Kotlin和SugarORM,并且遇到了一个问题,试图阻止某些属性被持久化。 具有讽刺意味的是,在Kotlin类中使用@com.orm.dsl.Ignore注解似乎被忽略。 举个例子, 1)让我们宣布两个看似相同的模型: // JavaUser.java public class JavaUser extends SugarRecord { public String login = "login"; @Ignore public String password = "password"; } // KotlinUser.kt class KotlinUser : SugarRecord() { var login: String = "login" @Ignore var password: String = "password" } 2)坚持自己的实例 JavaUser().save() KotlinUser().save() 3)并看看实际上持续的是什么: sqlite> select * from java_user; ID|LOGIN 1|login sqlite> […]

SparkJava使用Kotlin和WebSockets

我正在用SparkJava尝试Kotlin,并且无法实现WebSocket路由。 我正在尝试遵循SparkJava网站( http://sparkjava.com/tutorials/websocket-chat )上提供的WebSocket示例,同时我可以使OnWebSocketConnect和OnWebSocketMessage元素正常工作,而不会拾取OnWebSocketClose。 我已经在Java中实现了这一点,以确保它不是浏览器问题,并且Java实现工作正常……所以这似乎是Kotlin解释OnWebSocketClose注释的特定方式。 我的代码如下所示 import spark.Spark.* import org.eclipse.jetty.websocket.api.Session import org.eclipse.jetty.websocket.api.annotations.*; fun main(args: Array<String>) { staticFileLocation("/public") webSocket("/chat", WSHandler::class.java) init() } @WebSocket class WSHandler { @OnWebSocketConnect fun connected(session: Session) = println("session connected") @OnWebSocketClose fun closed(session: Session, statusCode: Int, reason: String) = println("closed sessions") @OnWebSocketMessage fun message(session: Session, message: String) = println("Got: $message") } html / […]

在Kotlin中实现Java注释

我正在Kotlin中实现dropwizard示例应用程序,并且有一个实现DateRequiredFeature的问题。 Java代码如下: @Provider public class DateRequiredFeature implements DynamicFeature { @Override public void configure(ResourceInfo resourceInfo, FeatureContext context) { if (resourceInfo.getResourceMethod().getAnnotation(DateRequired.class) != null) { context.register(DateNotSpecifiedFilter.class); } } } 与注释定义为: @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface DateRequired {} 对于Kotlin方面我有以下特点: @Provider class DateRequiredFeature : DynamicFeature(){ override fun configure(resourceInfo: ResourceInfo, context: FeatureContext) { if (resourceInfo.resourceMethod.getAnnotation(DateRequired::class.java) != null) { context.register(DateNotSpecifiedFilter::class.java) } } } […]