我有一个可变的实时数据,可用于调整布局中的可见性(使用绑定适配器)。我使用实时数据的布尔值通过以下代码实现此目的。
@BindingAdapter("viewVisibility")
fun setVisibility(view: View, visible: Boolean) {
view.visibility = if (visible) View.VISIBLE else View.GONE
}
要获取此数据,请使用以下方法
Flowable.just(
Sdk().searchContact(CHATBOT_NAME)).map {!(it.isEmpty()) }
it.isEmpty()给了我Flowable
it.blockingLast().isEmpty() // Blocking last gives me a list so I can get non-single boolean with isEmpty. Since I need one element from search contact method blocking last or first works same in this case.
这是可以接受的解决方案吗?如何将Single转换为普通布尔值?
答案 0 :(得分:2)
又是我,请尝试以下代码:
fun doesExist(): Flowable<Boolean> {
return Flowable.just(Single.just(Sdk().searchContact(CHATBOT_NAME)).map{ it.isEmpty()}).map {it.blockingGet() }
}