2011-04-18 43 views
2

我正在构建ImageSwitcher以适应作为横幅切换器的移动应用程序。目前我们使用Handler旋转横幅并延迟7秒(准确地说是7000ms),但我们希望在两幅图像之间有一个更加奇特的过渡效果。我使用this作为参考,并且这样做的时间很可怕。我理解它的背后的概念,但我想完全切断画廊的一部分,只是使用我们必须使用的处理程序来使用ImageSwitch转场。Android ImageSwitcher

这是我们进行图像转换代码:

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返回。

任何帮助将不胜感激。

+0

您可以在发生NPE时发布logcat吗? – 2011-04-18 20:24:32

回答