Autore Topic: Problema aggiornamento immagini prima della visualizzazione di dialog  (Letto 368 volte)

Offline Beorne

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Sistema operativo:
    Windows 7
Ciao, sono un nuovo utente.
Sto realizzando il mio prmogramma Android (sdk level 10 progetto e dispositivo): un gioco del "memory" per i miei nipoti con le loro foto (bisogna indovinare coppie di foto uguali).
Utilizzo una gridview di immagini. Cliccando su una immagine "retro" la giro per visualizzare una foto, cliccando sulla seconda immagine "retro" dopo che ho visualizzato la foto sottostante appare una dialog con un messaggio che indica se ha indovinato la coppia oppure no.
Purtroppo se aggiorno l'immagine in concomitanza della visualizzazione del dialog l'immagine viene aggiornata solo dopo che chiudo il dialog.

Gestisco l'evento nell'handler del onItemClick del datagrid
Codice (Java): [Seleziona]
gridView.setOnItemClickListener(new OnItemClickListener()
{
        public void onItemClick(AdapterView<?> adapterView, View view, int position, long id)
        {                              
                ImageAdapter ia = (ImageAdapter)adapterView.getAdapter();              
                // determino la foto nascosta                                  
                // ....                                                        
                // imposta la foto nascosta
                ia.setItem(position, hiddenPicture);                              
                gridView.setAdapter(ia);                //**
               
                if (/* l'immagine nascosta è la stessa scoperta precedentemente*/)
                {  // indovinato               
                        showDialog(DIALOG_INDOVINATO_ID);
                }
                else
                {       // non indovinato
               
                        showDialog(DIALOG_NON_INDOVINATO_ID);

                        // determino l'immagine del retro
                        // ....
                        // imposto l'immagine del retro
                        ia.setItem(position, imRetro);
                        gridView.setAdapter(ia);
                }
        }
}

In quuesto modo quando non indovino l'immagine (parte else) la foto giusta hiddenPicture non appare mai.
E' come se il pezzo con asterischi (**) venisse eseguito solo DOPO la chiusura della dialog e non prima.
Come faccio per visualizzare l'immagine in (**)  prima di visualizzare la dialog?

Inoltre, quale è il comando si sleep per avere un ritardo nell'esecuzione?

Grazie mille