4

我正在使用带有 TouchListener 的 ImageSwitcher 来更改数组中的图像。它工作正常,但我希望它每隔 x 秒左右切换一次图像,以便我可以添加imageSwitcher.setImageResource(imageList[curIndex]);它。

有什么建议么?

4

2 回答 2

16

试试这个,

 imageSwitcher.postDelayed(new Runnable() {
            int i = 0;
            public void run() {
                imageSwitcher.setImageResource(
                    i++ % 2 == 0 ?
                        R.drawable.image1 :
                        R.drawable.mage2);
                imageSwitcher.postDelayed(this, 1000);
            }
        }, 1000);
于 2012-06-13T12:30:34.717 回答
4

我认为可以通过 TimerTask 和 Timer。请尝试此代码。我认为它可以帮助你。

    private Handler mHandler;
    private Runnable mUpdateResults;
         private Timer timerAnimate;
        private TimerTask timerTask;
        mHandler = new Handler();
        mUpdateResults = new Runnable() {
            public void run() {
                AnimateandSlideShow();
            }
        };

        int delay = 0;
        int period = 15000;
        timerAnimate = new Timer();
        timerTask = new TimerTask() {
            public void run() {
                mHandler.post(mUpdateResults);
            }
        };
        timerAnimate.scheduleAtFixedRate(timerTask, delay, period);

         Public void AnimateandSlideShow()
               {
                imageSwitcher.setImageResource(imageList[curIndex]);
               ///Here You need To handle curIndex position.
                }
于 2012-06-13T12:29:43.440 回答