Autore Topic: Observer o callback  (Letto 336 volte)

Offline tonno16

  • Utente storico
  • *****
  • Post: 1226
  • Respect: +59
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Observer o callback
« il: 14 Maggio 2015, 12:55:31 CEST »
0
Salve a tutti.

La mia situazione è:
Un activity con x fragment. Essi lavorano su dati di un oggetto instanziato con singleton. 2 fragment possono alterare l'oggetto singleton mediante add e remove da una lista in esso presente.

Mi chiedevo se definire tale oggetto singleton come soggetto del pattern e nella mia activity aggiungere tanti osservatori quanti sono i fragment che necessitano di essere notificati.

Oppure usare classica interfaccia definita nei 2 fragment implementarla nell' activity e chiamare un metodo .refreh() come normale metodo dei rimanenti fragment.

Oppure dato che uso le tab, ogni volta che la tab visualizzata è diversa chiamò sempre un .refresh() sul fragmebt connesso a tale tab.

Idea migliore qual'è?

iClaude

  • Visitatore
Re:Observer o callback
« Risposta #1 il: 14 Maggio 2015, 14:40:52 CEST »
0
Mi pare che il pattern Observer sia fatto apposta per questi casi.

Offline tonno16

  • Utente storico
  • *****
  • Post: 1226
  • Respect: +59
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Observer o callback
« Risposta #2 il: 14 Maggio 2015, 14:43:50 CEST »
0
Mi è venuto in mente che cosi facendo, avro un for each dove chiamo .refresh() per ogni observer. In pratica avendo 4 fragment tutti e 4 eseguono il metodo, ma 3 lo fanno inutilmente, dato che di fragment ne visualizzo solo uno alla volta

iClaude

  • Visitatore
Re:Observer o callback
« Risposta #3 il: 14 Maggio 2015, 14:50:00 CEST »
0
Anziché ricaricare i dati,  se non serve,  potresti semplicemente notificare agli Observer che i dati sono cambiati,  ad esempio usando una semplice variabile.
Poi ricarichi i dati solo quando serve.

Offline tonno16

  • Utente storico
  • *****
  • Post: 1226
  • Respect: +59
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Observer o callback
« Risposta #4 il: 14 Maggio 2015, 15:34:31 CEST »
0
Del tipo boolean cambiato. Se cambiato tue nel fragment corrente ricarico i dati.