mmaciejow:
J'ai le code:
class DrawerViewModel : ViewModel() {
fun updateDrawerProfiles() {
val example = DrawerUtils.exampleProfile
example.add( DrawerAccount(3, "NEW Test") )
setDrawerProfiles(example)
}
}
class DrawerUtils {
companion object {
val exampleProfile = arrayListOf(
DrawerAccount(1, "Facebook"),
DrawerAccount(2, "Google")
)
}
}
quand je lance plusieurs fois la fonction updateDrawerProfiles retour taille vailid de la liste. RUN x3 updateDrawerProfiles () | SORTIE: 3 4 5
il devrait être 3 3 3.
Quand je me déplace updateDrawerProfiles fonction outsiede objet compagnon - il est ok. Pourquoi est-il comme ça?
Zun:
il devrait être 3 3 3.
Faux.
Le DrawerUtils
compagnon est un Singleton. Créer une seule fois et l'objet garde existant. Vous ajoutez de nouvelles valeurs à exampleProfile
3 fois, il est donc logique pour la taille de croître à 3, puis 4 puis 5.
S'il vous plaît faire de la lecture sur ce sujet https://kotlinlang.org/docs/tutorials/kotlin-for-py/objects-and-companion-objects.html