我正在构建一个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