小编JGu*_*Guo的帖子

Kotlin:从末尾分割字符串

我想I_have_a_string分成I_have_astring

Kotlin 中是否有内置函数可以从末尾拆分?以下是我现在正在做的事情:

val words = myString.split("_")
val first = words.dropLast(1).joinToString("_")
val second = words.last()
Run Code Online (Sandbox Code Playgroud)

kotlin

6
推荐指数
1
解决办法
3439
查看次数

RxSwift如何附加到BehaviorSubject <[]>

由于在RxSwift 4中不推荐使用Variable BehaviorSubject,因此执行以下操作的等效方法是什么?

let observable = Variable<[Int]>([])
observable.value.append(1)
Run Code Online (Sandbox Code Playgroud)

swift rx-swift

5
推荐指数
2
解决办法
4362
查看次数

Kotlin初始化:如何失败

我需要将Firebase DataSnapshot(一个JSON对象)解析为一个数据类,其属性包括枚举和列表。所以我更喜欢通过将其传递DataSnapshot给辅助构造函数来手动解析它。但是,如果缺少某些字段,我希望构建失败DataSnapshot。在Swift中,它具有返回null的失败初始化器,因此我知道它已失败。如何在Kotlin中做到这一点?

以下是我的尝试,但我认为您不能仅从构造函数返回,对吗?

data class Unit(val name: String, val type: UnitType, val components: List<Component>) {
    constructor(snapshot: DataSnapshot) {
        name = snapshot.child("name").value as? String ?: return
        val typeString = snapshot.child("type").value as? String ?: return
        type = UnitType.values().firstOrNull { it.abbrv == typeString } ?: return
        ...
    }

}
Run Code Online (Sandbox Code Playgroud)

initialization kotlin

5
推荐指数
2
解决办法
817
查看次数

键盘关闭时取消焦点 EditText

我想通过点击“完成”或“返回”按钮来实现一个简单的任务,即在键盘关闭时取消焦点(不是隐藏光标)。 EditText到目前为止我能找到的就是

window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN)

但只有在活动刚开放时才好。关闭键盘后,文本字段会处于尴尬的聚焦状态。

android android-edittext kotlin

5
推荐指数
1
解决办法
2144
查看次数

使用iOS图表进行交互式跟踪.如何

使用iOS图表(作者Daniel Gindi https://github.com/danielgindi/Charts),是否可以跟踪触摸?因此,当我在屏幕上移动手指而不是平移图形时,它会不断突出显示我触摸的条目.像下图这样的东西.

我想可能UIGestureRecognizer在图表视图中添加一个,获取触摸的位置,并以编程方式突出显示该条目.但是我怎样才能获得该特定位置的条目?谢谢

在此输入图像描述

ios swift ios-charts

4
推荐指数
1
解决办法
1882
查看次数

Kotlin相当于Class &lt;?&gt;

我想要Int任何班级之间的地图。在Java中将是Map<Class<?>, Integer>。Kotlin相当于什么?

kotlin

2
推荐指数
2
解决办法
1257
查看次数

Kotlin 获取对象的引用名称

如何获取 Kotlin 对象的引用名称?假设我有一个对象,我怎样才能得到,比如说,com.myapp.CustomClass@6406我的问题与如何通过名称获取对 Kotlin 对象的引用相反?

object-reference kotlin

1
推荐指数
1
解决办法
3381
查看次数

我应该将所有注释处理器更改为Kotlin项目中的kapt吗

我注意到我必须在Kotlin项目中使用kapt而不是annotationProcessor使其Dagger 2正常工作。我是否必须对所有库(特别是GlideRoom)执行相同的操作?

kotlin android-studio android-glide android-room

0
推荐指数
1
解决办法
418
查看次数

当多个 Singles 完成时执行某些操作(又名“combineLatest for Single”)

units我想在和 都variables设置时执行某些操作(通过Single<T>, NOT Observable)。怎么做?

// getUserId(), getSomething(), getSomethingElse() all return Single<T>

getUserId().flatMap { getSomething(it) }.subscribe({ data -> units = data }) 
getUserId().flatMap { getSomethingElse(it) }.subscribe({ data -> variables = data }) 

execute(units, variables)
Run Code Online (Sandbox Code Playgroud)

kotlin rx-java

0
推荐指数
1
解决办法
173
查看次数