1

Android のグリッド ビューについて質問があります。5x5 の画像のグリッドがあります。そして、これらのイメージを継続的に変えたいと思っています。配列から毎回新しい画像セットを読み込みます。毎回ロードした後に mThumbIds 配列の値を変更するランダムジェネレータ関数があります。しかし、新しい画像セットをレンダリングするためのイベントが必要になる前に、新しい画像を適用できません。ここでは、イベントはありません。継続的に変化してほしい。あなたは私を喜ばせることができますか?これに対する解決策が見つかりません。

4

2 に答える 2

0

2秒ごとに画像変更機能をトリガーするタイマーのことですか?もしそうなら、ハンドラーを試してください。何かのようなもの

    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
            }
     };

ループを停止したい場合は、いくつかの条件を設定して、mUpdateImagesTask内でHandler.postDelayer()を呼び出すか、Runnableの外部から(ボタンクリックなどで)mHandler.removeCallbacks(mUpdateImagesTask)を呼び出します。

于 2012-11-04T00:00:24.763 に答える
0

AsyncTask を使用してイメージを変更しようとしましたか? AsyncTask は 1 つのイメージを変更してから、新しい AsyncTask を起動できます。

もう 1 つのオプションは、ハンドラーを使用することです。それが実際にあなたの最良の選択肢かもしれません。http://mobileorchard.com/android-app-developmentthreading-part-1-handlers/

于 2012-11-03T23:50:42.707 に答える