Autore Topic: Passare un Dialoginterface tramite bundle  (Letto 706 volte)

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Passare un Dialoginterface tramite bundle
« il: 14 Luglio 2011, 20:31:31 CEST »
0
Ciao a tutti, ho una Dialog con il pulsante Invia che ha questo codice :
Codice (Java): [Seleziona]
dialog.setPositiveButton("Invia", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dati = new Invio_Dati(handler,dialog);
dati.start();
                                       
}
});
Come vedete quando si preme Invia faccio partire un Thread al cui costruttore passo l'handler ed il DialogInterface in quanto vorrei che se il thread termina positivamente l'handler tra le altre cose dismetta la dialog altrimenti no. Vorrei sapere prima di tutto se è plausibile la cosa che stò facendo e se si, come faccio poi dal thread a passare all'handler il message contenente anche il DialogInterface? cioè io all'handler invio un message con un bundle nel cui interno metto tramite i metodi putInt, putBoolean, etcle variabili ma il DialogInterface come lo posso passare ???

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Passare un Dialoginterface tramite bundle
« Risposta #1 il: 15 Luglio 2011, 10:42:11 CEST »
+1
dichiara dialog e handle come variabili di classe, con visibilità a tutto ciò che c'è dentro la classe; questo comporta che non c'è bisogno che passi dialog, nè handler.

quando dati termina, anziché inviare il solito messaggio vuoto all'handler, puoi passare un messaggio con contenuto, per cui stai passando i dati.
Ma se rimani nella stessa classe, potresti anche pensare di settare una variabile (anche questa di classe) e fargliela prendere all'handler.

l'handler, infine, vede il dialog, per cui può chiuderlo tranquillamente.

Ovviamente sto dando per scontato che tu non stia mettendo la dichiarazione di Invio_Dati su un altro file, ma lo stia dichiarando all'interno della stessa classe di dialog ed handler (anche lui come variabile di classe).

spero di essere stato chiaro.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Passare un Dialoginterface tramite bundle
« Risposta #2 il: 15 Luglio 2011, 11:04:05 CEST »
0
Si infatti alla fine ho fatto così. Grazie ;)

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Passare un Dialoginterface tramite bundle
« Risposta #3 il: 15 Luglio 2011, 12:21:39 CEST »
0
 :-)
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/