2

我正在构建一个 ImageSwitcher 以适应移动应用程序作为横幅切换器。目前,我们使用 Handler 旋转横幅并将可运行对象延迟 7 秒(准确地说是 7000 毫秒),但我们希望在两个图像之间产生更花哨的过渡效果。我将用作参考,并且这样做的时间很糟糕。我理解它背后的概念,但我想完全去掉画廊部分,只使用我们必须使用 ImageSwitch 转换的处理程序。

这是我们的图像切换代码:

private Runnable updateBannerRun = new Runnable(){
    public void run() {
        if (bannerQueue > 3){
            bannerQueue = 1;
        } else {
            bannerQueue ++;
        }
        ImageView i = (ImageView)findViewById(R.id.imageView1);
        switch (bannerQueue){
        case 1:
            i.setImageResource(R.drawable.image1);
            break;
        case 2:
            i.setImageResource(R.drawable.image2);
            break;
        case 3:
            i.setImageResource(R.drawable.image3);
            break;
        case 4:
            i.setImageResource(R.drawable.image4);
            break;
        }
        updateBanner();
    }
};

这是处理程序的代码:

public void updateBanner(){
            mHandler.postDelayed(updateBannerRun, 7000);        

}

我最大的问题是当我们运行它时,我们得到一个 nullPointException 返回。

任何帮助将不胜感激。

4

1 回答 1

2

你错过了setFactory()电话。

查看我的博文:Android 提示:TextSwitcher 和 ImageSwitcher

于 2011-04-18T20:27:32.020 回答