2011-04-11 17 views
7

Quiero mostrar un par de imágenes y agregar un retraso entre cada imagen. Lo hice y no tengo errores en el código, pero por alguna razón la aplicación falla.retraso de Android usando el controlador

Bitmap bitmap = BitmapFactory.decodeFile(imageIn); 
    ImageView myImageView = (ImageView)findViewById(R.id.imageview); 
    myImageView.setImageBitmap(bitmap); 
    // Those are the only 2 lines I used to make my handler 
    Handler handlerTimer = new Handler(); 
    handlerTimer.postDelayed((Runnable) this, 20000); 

Respuesta

34

Usted no dice qué clase alberga el fragmento informados, pero creo que handlerTimer.postDelayed((Runnable) this, 20000); es poco probable que sea correcto.

Trate de añadir un objeto anónimo Runnable como

handlerTimer.postDelayed(new Runnable(){ 
     public void run() { 
      // do something    
     }}, 20000); 

Otra cosa, logcat de salida es de gran valor para conseguir pistas sobre lo que está causando un accidente. http://developer.android.com/guide/developing/tools/logcat.html

+0

si su "esto" sea lo que sea, implementa Runnable, no hay problema haciéndolo como lo hace. – Vlad

+0

Además: para evitar la llamada a Looper.prepare, puede crear el handleTimer de esta manera: handleTimer = new Handler (Looper.getMainLooper()); – Tobliug

Cuestiones relacionadas