2011-02-01 71 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