2011-02-01 69 views
0

我的代码在这里工作正常。它改变了我的画廊在某些时候的形象,但我不认为这是最好的办法,特别是使用thread.sleep()。我怎么能写一个更好的代码呢?我错过了什么? 谢谢..在特定时间更改Android图库中的图像...帮助

@Override protected void onResume(){ paraThread = true; workThread = new LooperFoto(“MyWorkThread”); workThread.setPriority(Thread.MIN_PRIORITY); workThread.start(); super.onResume(); }

@Override 
protected void onStop() { 
    Log.i(TAG, "thread state: " + workThread.getState()); 
    paraThread = false; 
    workThread = null; 
    super.onStop(); 
} 


class LooperFoto extends HandlerThread { 

    public LooperFoto(String name) { 
     super(name); 

    } 

    @Override 
    public void run() { 
     while (paraThread) { 
      try { 
       this.sleep(2000); 
       mudaFoto.sendMessage(new Message()); 
      } catch (InterruptedException e) { 
       e.printStackTrace(); 
      } 

     } 
    } 

} 

Handler mudaFoto = new Handler() { 
    public void handleMessage(Message msg) { 
     Random generator = new Random(); 
     int randomIndex = generator.nextInt(thumbImgGallery.getAdapter() 
       .getCount()); 
     thumbImgGallery.setSelection(randomIndex); 
    }; 
}; 

回答

0

只要是.sleeping()的线程是不是你的主(UI)线程,你应该罚款。你担心什么?

+0

我只是有点关注thread.spleep(),但如果它不是问题,我很好。谢谢 – user569873 2011-02-01 14:35:04