0

当我尝试投射到 com.sun.lwuit.Image 时,我得到了 ClassCastException。请帮助我如何更改下面的代码以在 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
             }

         }

     }
4

1 回答 1

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);
于 2014-02-25T18:56:30.610 回答