日期:2014-05-20  浏览次数:20796 次

j2me菜鸟问题....
我按back   按钮的时候出现
java.lang.ClassCastException异常..
代码如下:
public   void   commandAction(Command   c,   Displayable   d)   {
List   list   =   (List)d;
if   (c   ==   list.SELECT_COMMAND)   {
int   index   =   list.getSelectedIndex();
switch   (index)   {
case   0:
break;
case   1:
                      display.setCurrent(wordTB);
break;
case   2:
tickerTB.setTicker(ticker);
display.setCurrent(tickerTB);
break;
case   3:
break;
}
}   else   if   (c   ==   this.cmdback)   {
display.setCurrent(this.listMenu);
}   else   {
notifyDestroyed();
}
}

我觉得可能是List   list   =   (List)d   这句有问题,因为后面的界面是TextBox类型了.但具体就不清楚了..希望大侠解决下哦...

------解决方案--------------------
java.lang.ClassCastException异常,就是对象转换错误吧
------解决方案--------------------
当你返回的d对象不是List类型的时候
转换就会报转换异常了
最好好似提前判断一下

public void commmandAction(Command c,Displayable d){
if( d instanceof List)
{
List list=(List)d;
....
}
}