2012-11-03 22 views
1

我有一個關於android中的網格視圖的問題。 我有一個5x5圖像的網格。我想連續改變這些圖像。每次從該陣列加載新的一組圖像。 我有一個隨機生成器函數,它在每次加載後都會更改mThumbIds數組的值。 但是我無法在需要某些事件呈現新圖像之前應用新圖像。在這裏我沒有任何事件。我希望他們不斷改變。 你可以請我。 無法找到任何解決方案。Android開發 - 在2秒後連續更改gridview圖像 - 如何使用處理程序來完成此任務?

回答

0

您是否嘗試使用AsyncTask更改圖像? AsyncTask可以更改一個圖像,然後啓動一個新的AsyncTask。

另一種選擇是使用處理程序。實際上這可能是你最好的選擇。 http://mobileorchard.com/android-app-developmentthreading-part-1-handlers/

+0

你好,非常感謝你的回覆..但我試過處理程序。它似乎沒有工作。我的網格中有5x5圖片。現在2秒後,我有一個叫做ShuffleArray()的函數,我調用了它並將我的圖像適配器的mThumbIds數組洗掉。然後我打電話給notifydataset更改顯示更新的網格。這是我想要做的。處理程序解決方案無效。我曾嘗試過。 :(我希望在幾秒鐘後洗出25張圖像後,這些圖像會發生變化,所以這使得它看起來像是一些連續的動作。你能告訴我我要去哪裏嗎? – user1797286

+0

也可以告訴我應該如何使用處理程序....?也許我在那裏做錯了什麼.. – user1797286

+0

顯示如何使用它。更新您的問題。@ rgocha的方法是正確的。 – Snicolas

0

你是說每2秒觸發一次圖像更改功能的計時器?如果是這樣,請嘗試一個Handler。像

private Handler mHandler = new Handler(); 

    public void onCreate(Bundle savedInstanceState) { 
     // init grid and set first batch of images 
    } 

    protected void onResume() { 
     mHandler.postDelayed(mUpdateImagesTask , 2000); 
    } 


    private Runnable mUpdateImagesTask = new Runnable() { 
    public void run() { 
       // Code to change the images 

       // call me in 2 seconds... 
       mHandler.postDelayed(this, 2000); // 2 seconds 
      } 
    }; 

如果要停止循環的東西只是把一些條件來調用Handler.postDelayer()內mUpdateImagesTask或從外面的Runnable調用mHandler.removeCallbacks(mUpdateImagesTask)(在點擊一個按鈕,即)。

+0

你好,非常感謝你的迴應..但我試過了處理程序。它似乎沒有工作。我的網格中有5x5圖片。現在2秒後,我有一個叫做ShuffleArray()的函數,我調用了它並將我的圖像適配器的mThumbIds數組洗掉。然後我打電話給notifydataset更改顯示更新的網格。這是我想要做的。處理程序解決方案無效。我曾嘗試過。 :(我希望在幾秒鐘後洗出25張圖像,這樣它會看起來像是連續的動畫,你能告訴我我錯了嗎? – user1797286

+0

你可以發佈你的代碼來看看發生? – rgrocha

相關問題