AM
Size: a a a
AM
VM
val target = targetSnapshot.getValue(Target::class.java)
AM
val target = ...
if(target != null) {
targetList.add(target)
}
VM
target
, добавляете его в targetList
, во втором, если вы находите target
, вы его не используете, а просто кажый раз сортируете targetList
.VM
val target = ...
if(target != null) {
targetList.add(target)
}
VM
val target = ...
if(target != null) {
targetList.add(target)
}
AM
VM
if(target != null) {
targetList.sortedByDescending { it.priority}
}
AM
AM
if(target != null) {
targetList.sortedByDescending { it.priority}
}
AM
VM
AM
VM
fun getTargetsByPriority() {
val valueEventListener = object : ValueEventListener {
override fun onDataChange(dataSnapshot: DataSnapshot) {
targetList.clear()
for (targetSnapshot in dataSnapshot.children) {
val target = targetSnapshot.getValue(Target::class.java)
target?.let { targetList.add(it) }
}
targetList.sortedByDescending { it.priority }
contract.updateViewContent()
}
override fun onCancelled(databaseError: DatabaseError) {
Log.d("some", "Error trying to get targets for ${databaseError.message}")
}
}
targetsRef?.addListenerForSingleValueEvent(valueEventListener)
}
2019-11-02 22:51:08.222 5489-5489/com.mandarine.target_list D/some: targetList: [Target(guid=-LrizWpFMU714rExtoit, name=huhy, description=hhhyy, date=0, priority=2), Target(guid=-LrizfGg0cKxlftLuL29, name=hhh, description=hhhh, date=0, priority=1), Target(guid=-Ls2Qr_H9jTbchvFBny4, name=hhh, description=hhhh, date=1572134400000, priority=0), Target(guid=-LshguMEgE6vPYMUxIQT, name=ооо, description=ооо, date=1574208000000, priority=1)]
AM
AM
AM
VM
AM
targetList.clear()
dataSnapshot.children
.mapNotNull { it.getValue(Target::class.java) }
.sortedByDescending { it.priority }
.toCollection(targetList)
VM
targetList.clear()
dataSnapshot.children
.mapNotNull { it.getValue(Target::class.java) }
.sortedByDescending { it.priority }
.toCollection(targetList)