Android 将Rx应用改装为Kotlin的lambda
我不熟悉在Kotlin中使用lambda表达式。我成功地使用Rx apply进行网络呼叫,并在Kotlin中进行了改进,但IDE让我感到温暖,我的代码可以转换为lambda。你能用下面的代码给我一些想法吗Android 将Rx应用改装为Kotlin的lambda,android,kotlin,Android,Kotlin,我不熟悉在Kotlin中使用lambda表达式。我成功地使用Rx apply进行网络呼叫,并在Kotlin中进行了改进,但IDE让我感到温暖,我的代码可以转换为lambda。你能用下面的代码给我一些想法吗 disposable = publishSubject .debounce(300, TimeUnit.MILLISECONDS) .switchMap(object: Function<String, Observable<Arra
disposable = publishSubject
.debounce(300, TimeUnit.MILLISECONDS)
.switchMap(object: Function<String, Observable<ArrayList<Contact>>> {
override fun apply(t: String): Observable<ArrayList<Contact>> {
return apiService.getContactList("", t)
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(object: DisposableObserver<ArrayList<Contact>>() {
override fun onNext(t: ArrayList<Contact>) {
adapter?.addItem(t)
}
override fun onError(e: Throwable) {
Toast.makeText(this@MainActivity, e.message, Toast.LENGTH_SHORT).show()
}
override fun onComplete() {
}
})
disposable=publishSubject
.debounce(300,时间单位为毫秒)
.switchMap(对象:函数{
覆盖乐趣应用(t:字符串):可观察{
返回apiService.getContactList(“,t)
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribowith(对象:DisposableObserver(){
覆盖下一页(t:ArrayList){
适配器?.addItem(t)
}
覆盖有趣的错误(e:可丢弃){
Toast.makeText(this@MainActivity,e.message,Toast.LENGTH\u SHORT).show()
}
覆盖有趣的onComplete(){
}
})
如果您的IDE显示它可以转换为lambda
,它可能会代替您进行转换
以Android Studio为例。下面是代码的外观以及如何将其转换为lambda
所以如果你点击下面有波浪线的那条线。您将在其旁边获得黄色羔羊图标
如果单击Convert to lambda
,IDE将把代码转换为与lambda等效的代码
同样地,您可以在Mac上使用快捷方式选项+Enter