2013-05-07 76 views
0

我想要做一些非常基本的事情,因为有一种动画。因此,像一个循环:在Android中激活视图

在视图
  • 更新位图
  • 睡眠100ms的
  • 显示位图“mabm”

我的代码工作只有一次,进行第一循环,我可以”不能为其他循环寻找解决方案。 这样做最简单的方法是什么? 谢谢你的帮助!

我的代码:

Bitmap mabm= Bitmap.createBitmap(400,400,Bitmap.Config.ARGB_8888); 
final Drawable d =new BitmapDrawable(mabm); 

/* more code here */ 

Taff=new Thread(new Runnable() { 

    // voir : android updating a view repeatedly 

    @Override 
    public void run(){         
     try { 
      Thread.sleep(100); 
     } catch (InterruptedException e) { 
      //empty catch 
     } 

     deco.decompp() ; // this method updates mabm   

     runOnUiThread(new Runnable() { 
      @Override 
      public void run() { 
       //Drawable d =new BitmapDrawable(mabm); 
       ds.setBackgroundDrawable(d); 
      }        
     }); 
    } 
); 
+1

哪里是代码中的循环?我想它错过了这部分。 – Guian 2013-05-07 10:56:07

回答

0

其实这个线程塔夫是指由其他线程(读取智能卡,这是一个缓慢的设备)被触发。 但你的问题帮助我明白了,Taff.start()不会触发Taff的新执行,并且不能用于此目的。 所以我改变了塔夫的代码,用一个真正的循环,现在它的工作! 谢谢你的帮助。