0

我想做一些非常基本的事情,以获得一种动画。所以像这样的循环:

  • 更新位图
  • 睡眠 100 毫秒
  • 在视图上显示位图“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); 
           }                            
       }); 
    }
);
4

1 回答 1

0

事实上,这个线程Taff是由另一个线程触发的(读取智能卡,它是一个慢速设备)。但是您的问题帮助我了解Taff.start()不会触发 Taff 的新执行,并且不能用于此目的。所以我改变了 Taff 的代码,用一个真正的循环,现在它可以工作了!谢谢您的帮助。

于 2013-05-09T09:22:39.940 回答