Visualizzazione dei risultati da 1 a 3 su 3

Visualizzazione discussione

  1. #1

    [Android] Come evitare loop infinito su OnTouchListener

    Ciao a tutti, per problemi di tempi i risposta della OnLongClickListener,ne ho implementata una mia...
    Ecco il codice:

    codice:
    this.setOnTouchListener(new OnTouchListener() {
                    @Override
                    public boolean onTouch(View v, MotionEvent event) {
                        switch(event.getAction()) {
                        
                        case MotionEvent.ACTION_DOWN:
                            
                            preme=true;
                            //finchè tiene premuto, la pallina si muove in basso
                            while(preme)
                            {
                                y+=10;
                                invalidate();//richiama il metodo OnDraw il quale disegna la pallina
                            }
    
    
                            break;
                            
                            //quando rilascio 
                        case MotionEvent.ACTION_UP:
                           preme=false;
                            break;
                        }
                         return true;
                    }
                });

    Il problema è che l'istruzione(preme=false) dentro al case MotionEvent.ACTION_UP,viene eseguita solo dopo che l'evento ACTION_DOWN si è consumato,ma visto che contiene un while che è sempre vero non arriva mai a restituire qualcosa e quindi preme non diventa mai false e il while continua sempre,infatti crasha il programma....non so so sono stato chiaro...se si,qualcuno ha una soluzione??
    Grazie!
    Ultima modifica di LeleFT; 24-12-2014 a 10:11 Motivo: Aggiunti i tag CODE

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.