2014-02-22 80 views
0

我得到一个ClassCastException当我尝试投丢在com.sun.lwuit.Image。请帮助就如何我可以改变下面的代码在LWUIT使用Vserv LWUIT旗帜

public void vservAdReceived(Object obj) 
    { 

     if(obj==vservAd) 
     { 

      if(((VservAd)obj).getAdType().equals(VservAd.AD_TYPE_IMAGE)) 
      { 
       com.sun.lwuit.Image imageAd=(com.sun.lwuit.Image)((VservAd)obj).getAd(); 
       //use image as com.sun.lwuit.Button icon 
      } 
      else if(((VservAd)obj).getAdType().equals(VservAd.AD_TYPE_TEXT)) 
      { 
       String textAd=(String)((VservAd)obj).getAd(); 
       //use image as com.sun.lwuit.Button text 
      } 

     } 

    } 
+0

VservAd从哪里来?有没有API的文档? – Meier

回答

0

也许你得到一个标准的java-me图像,而不是一个LWUIT图像。 lwuit中有一个方法可以将其转换。从文档:

公共静态图像的createImage(java.lang.Object中nativeImage)

创建从给定的本地图像(如MIDP图像对象)的图像

,您可以尝试像这样:

javax.microedition.lcdui.Image imageAdMe = 
    (javax.microedition.lcdui.Image)((VservAd)obj).getAd(); 

com.sun.lwuit.Image imageAd = com.sun.lwuit.Image.createImage(imageAdMe);