Significa il valore what
. what
è fondamentalmente un numero intero che consente al destinatario di identificare i messaggi che riceve.
La funzione handleMessage assomiglia a questo
public void handleMessage (Message msg)
si sta passato un oggetto Message
e si può controllare il campo pubblico what
di capire che cosa il messaggio è circa. (msg.what
)
Es.
inviare due tipi di messaggi, con what
valore 1 for success
e 0 for failure
così la funzione handleMessage sarebbe simile a questa
public void handleMessage (Message msg) {
switch (msg.what) {
case 1:
//success handling
break;
case 0:
//failure handling
break;
}
}
Ora potete avere sendEmptyMessage(0)
per il successo e sendEmptyMessage(1)
per il fallimento.
Ricordate che non dovete inviare un messaggio vuoto, è possibile inviare un oggetto messaggio con più dati collegato ad esso troppo
ad esempio per inviare un messaggio con un testo in caso di successo si può fare
Message.obtain(mHandler, 0, "Success text")
e allo stesso modo per il fallimento
Ora come da ciò che i mezzi a zero, è solo l'invio di un messaggio vuoto e 0 potrebbe essere sostituito da qualsiasi valore. L'idea è che in questo caso hai un solo tipo di messaggi e il Gestore lo capisce. Quindi non ha bisogno di controllare che tipo di messaggio ha ricevuto, ma ha solo bisogno di ricevere un messaggio. Quindi sendEmptyMessage(AnyInteger)
funzionerebbe bene. 0 è solo per convenzione
fonte
2013-03-11 12:54:17
che è, come dice il documento, messaggio. Che cosa – njzk2