Autore Topic: Chiusura Dialog da un Thread  (Letto 576 volte)

Offline ponticello

  • Utente junior
  • **
  • Post: 50
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    galaxy s2
  • Play Store ID:
    littlebridge
  • Sistema operativo:
    ubuntu 10.10
Chiusura Dialog da un Thread
« il: 29 Luglio 2014, 14:55:09 CEST »
0
Buongiorno a tutti,
volevo chiedervi se è possibile aprire un dialog da un activity e chiuderlo da un altro thread.
Vi spiego meglio al click di un bottone starto un service il quale compie un azione e setta a true una preference.
Al click del bottone faccio visualizzare un dialog e instanzio un thread il quale ciclicamente controlla la preference finche non diventa true, a quel punto vorrei chiudere il dialog.
Passare i controlli della UI dal thread principale a un thread secondario mi provoca un crash dell'applicazione
Sicuramente c'è un modo per risolvere ma non l'ho ancora trovato.

Grazie a tutti
ponticello
Le mie app sullo store

    

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Chiusura Dialog da un Thread
« Risposta #1 il: 29 Luglio 2014, 15:00:05 CEST »
0
Passare i controlli della UI dal thread principale a un thread secondario mi provoca un crash dell'applicazione
Sicuramente c'è un modo per risolvere ma non l'ho ancora trovato.

Hai un crash perchè non si può: qualsiasi operazioni di UI deve essere eseguita nell'unico thread di UI.

Ma puoi fare il contrario: dal thread manda un message all'activity e nell'activity alla ricezione di quel message chiudi la progressdialog. E' la soluzione più thread-safe che esista.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline ponticello

  • Utente junior
  • **
  • Post: 50
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    galaxy s2
  • Play Store ID:
    littlebridge
  • Sistema operativo:
    ubuntu 10.10
Re:Chiusura Dialog da un Thread
« Risposta #2 il: 29 Luglio 2014, 15:04:54 CEST »
0
Ti ringrazio per la tempestività nel rispondermi,
potresti spiegarmi in altre parole cosa intendi con mandare un messaggio all'Activity... per caso parli dell'utilizzo di un Handler nell'Activity?
Le mie app sullo store

    

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:Chiusura Dialog da un Thread
« Risposta #3 il: 29 Luglio 2014, 15:10:02 CEST »
0
Questo dovrebbe fare al caso tuo...

Activity | Android Developers

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Chiusura Dialog da un Thread
« Risposta #4 il: 29 Luglio 2014, 16:11:57 CEST »
0
potresti spiegarmi in altre parole cosa intendi con mandare un messaggio all'Activity... per caso parli dell'utilizzo di un Handler nell'Activity?

Si, mettendo un Handler nell'acitivity e passando il riferimento al thread.

Qua avevo fatto degli esempi: [medio] Introduzione ai Thread - Android Developers Italia
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

iClaude

  • Visitatore
Re:Chiusura Dialog da un Thread
« Risposta #5 il: 30 Luglio 2014, 11:42:21 CEST »
0
Buongiorno a tutti,
volevo chiedervi se è possibile aprire un dialog da un activity e chiuderlo da un altro thread.
Vi spiego meglio al click di un bottone starto un service il quale compie un azione e setta a true una preference.
Al click del bottone faccio visualizzare un dialog e instanzio un thread il quale ciclicamente controlla la preference finche non diventa true, a quel punto vorrei chiudere il dialog.
Passare i controlli della UI dal thread principale a un thread secondario mi provoca un crash dell'applicazione
Sicuramente c'è un modo per risolvere ma non l'ho ancora trovato.

Grazie a tutti
ponticello

Cmq non serve avere due thread. Gestisci tutto nel thread che imposta la preferenza: appena è true lo comunichi (ad esempio con un broadcast) all'Activity.

Offline ponticello

  • Utente junior
  • **
  • Post: 50
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    galaxy s2
  • Play Store ID:
    littlebridge
  • Sistema operativo:
    ubuntu 10.10
Re:Chiusura Dialog da un Thread
« Risposta #6 il: 30 Luglio 2014, 12:09:27 CEST »
0
Grazie a tutti per le possibili soluzioni date,
ho risolto inviando un messaggio all'Handler dell'Activity dal Thread secondario, il quale si occupava esclusivamente di controllare lo stato della Preference.
L'implementazione sembra essere molto stabile e risolve a pieno le mie esigenze.

Grazie a tutti
Le mie app sullo store