canvas切换到form的按键问题。
我在一个canvas的按键里面构造了一个form类,并且display.setCurrent()这个form
但是同时form的commandAction()也执行了
会不会是因为canvas按键处理KeyPressed()中构造form时还没有返回
也就是说callKeyPressed()的操作还没完成,而form在构造中又setCurrent()了
使的callKeyPressed()又传递给form中的command,然后才返回c到anvas的KeyPressed()
//Canvas的按键处理部分-------------------------------------------
……………………
public void keyMenu()
{
switch(nCursor)
{
case 0:
//System.out.println( "ok ");
if(nState == 7)
{
nSub_state = 1;
nState_now = nSub_state;
nState_next = nState_now;
nScroll_y = 0;
nState = 4;
blnMenu = false;
setCommands(cmdMenu,cmdNull);
}
else
{
http=new Http(app,this);//构造包含form的类
}
break;
………………
*************************************************************************************************************************************************************************
//form类构造器----------------------------------------------------
………………
public Http(Midlet instance,
//-----------------切换到Canvas界面
Main canvas//把Displayable替换成游戏的主Canvas
//-------------------------------------------
) {
form=new Form( "开始游戏 ");
this.instance=instance;
this.canvas=canvas;
display=Display.getDisplay(instance);
out();
display.setCurrent(form);
form.setCommandListener(this);
}
private void out(){
form.addCommand(com_login);
form.addCommand(com_out);
form.append(item_label);
form.append(item);
}
…………
public void commandAction(Command comm, Displayable displayable) {
………………
以上是主要代码。
麻烦了,谢谢!
------解决方案--------------------在
http=new Http(app,this);//构造包含form的类
下面添加一个return试一下