我正在构建一个ImageSwitcher作为横幅广告切换器以适合移动应用程序。当前,我们使用处理程序旋转横幅并将可运行时间延迟7秒(准确地说是7000毫秒),但是我们希望在两个图像之间具有更精美的过渡效果。我正在使用this作为参考,并且这样做时间很糟。我了解其背后的概念,但我想完全切掉图库的一部分,只使用我们必须使用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返回。

任何帮助将不胜感激。

最佳答案

您错过了setFactory()呼叫。

检查我的博客文章:Android Tip: TextSwitcher and ImageSwitcher

10-05 21:01
查看更多