【发布时间】:2019-07-26 16:16:33
【问题描述】:
在下面的自定义对象列表中,我想通过比较 ViewModel 类中的值来实现基于某些条件的过滤
我的列表会是这样的
var inputList: MutableList<Person>
人物数据类如下
data class Person(val inContact: Boolean, val age: Int, val isFavourite:Boolean .......)
根据条件过滤:
val fav = mViewModel.personInContact.value //TRUE or FALSE
val personAge = mViewModel.personAge.value // INT VALUE
现在我想考虑inContact,前提是fav 是true。
如果fav 是false,我根本不想考虑inContact。
所以如果过滤列表逻辑是这样的,它会一直考虑fav条件。
val filteredFinalList = inputList.filter{
(it. inContact == fav)//how to ignore this check based on fav's value?
&&
(it.age >= personAge)
&& SOME OTHER CONDITIONS PRESENT AS WELL
}
如果只有fav 是true 和避免如果fav 在inputList.filter 中是false,我怎么能考虑(it. inContact == fav)?
【问题讨论】:
标签: android kotlin filter kotlin-android-extensions