Autore Topic: Bloccare esecuzione di un Listener  (Letto 574 volte)

Offline Pecas

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung GS2
Bloccare esecuzione di un Listener
« il: 31 Agosto 2012, 17:22:21 CEST »
0
Salve a tutti,

su un campo Edit ho creato un Evento onChange che filtra il contenuto di una lista. L'evento funziona perfettamente solo che se in qualsiasi parte del codice imposto un reload della lista con svuotamento della Edit, mi viene eseguito anche l'evento di Filtraggio. Come faccio a non farlo eseguire?

Unica idea è quella di mettere un boolean(es. filter=true) poi nel caso del reload lo imposto a false e nell'evento faccio il test. Ma oltre che sporco è anche brutto.

Altre idee?

Grazie!

Offline mdb

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: +7
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    Prometheo Apps
  • Sistema operativo:
    Windows
Re:Bloccare esecuzione di un Listener
« Risposta #1 il: 03 Settembre 2012, 23:25:27 CEST »
0
Unica idea è quella di mettere un boolean(es. filter=true) poi nel caso del reload lo imposto a false e nell'evento faccio il test. Ma oltre che sporco è anche brutto.
in pratica tu vuoi che si comporti in maniera diversa in base allo stato in cui si trova la tua app
(se si trova nello stato "reloading" non deve attivare il filtro)
il boolean rappresenterebbe questo stato,
mi sembra una buona soluzione!
Il boolean lo chiamerei appunto "inReloading", normalmente false,
in modo che puoi mettere all'inizio dell'evento:
if (inReloading) return;
in modo che sia anche più leggibile
:-)
App per Android:
Almanacco: Giorno per giorno, eventi, notizie, giochi e curiosità, da leggere e condividere
Proverbi Napoletani: Più di 50 proverbi da ascoltare in dialetto napoletano. Due sottofondi musicali.

Offline Pecas

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung GS2
Re:Bloccare esecuzione di un Listener
« Risposta #2 il: 03 Settembre 2012, 23:43:49 CEST »
0
Si beh poi rileggendo il codice e fatta pulizia mi sono accorto che il reload e l'evento fanno esattamente la stessa cosa. Il reload lo fa impostando la text a vuota e la edit ci mette il filtro. Percui ho semplicemente umito le 2 cose.

Cmq grazie! È una opzione che avevo ipotizzato ma speravo ve ne fosse una piu' bella. Ad esempio per l' evento onChange quando si digita si avvia l'evento e nn è possibile stopparlo?