我正在使用命令进行对话。此命令必须关闭对话框并返回到上一个窗体,但它不按预期工作。当我按下命令时,它会关闭对话框,但表单不会返回。LWUIT使用dispose的对话框问题()
我正在使用资源编辑器。状态机控制应用程序的导航。
的command's逻辑中的代码是:
dialog.dispose();
StateMachine.back();
是dispose()
我必须用关闭我的对话框的方法是什么?
感谢您的阅读。
我正在使用命令进行对话。此命令必须关闭对话框并返回到上一个窗体,但它不按预期工作。当我按下命令时,它会关闭对话框,但表单不会返回。LWUIT使用dispose的对话框问题()
我正在使用资源编辑器。状态机控制应用程序的导航。
的command's逻辑中的代码是:
dialog.dispose();
StateMachine.back();
是dispose()
我必须用关闭我的对话框的方法是什么?
感谢您的阅读。
正如尼尔默尔所述设置对话框去前面的表格,所以当你调用“回()”按照预期的呼叫处置工作()打破了逻辑。
您可以为正在显示的表单重写postShow方法,并检测离开对话框的情况(只需在返回时打开标志),并在该条件下显示表单时调用back方法。
谢谢谢。再见! – Mun0n
不要叫StateMachine.back()
只使用dialog.dispose();
我需要拨打StateMachine.back
,因为我需要回到以前的表单。我的意思是,我需要关闭对话框并在表单中返回到前一个表单。 但除此之外。当我调用dispose时,对话框关闭但命令的功能很糟糕。 –
Mun0n
还有另一种解决方案:尝试使用protected void onShowCompleted()
方法,您必须在Form
中执行该方法。而在你Form
(例如private boolean isDialogShown;
),那么该布尔变量来false
,刚打开Dialog
的代码之前你Form
一套in the constructor
其值设置为true
声明boolean
变量。然后在protected void onShowCompleted()
测试的代码中如果它是真的,并且如果它是真的,则将其设置为false并执行后退动作:backForm.showBack();
什么是状态机? – 2011-08-22 12:38:24
StateMachine是从LWUIT资源编辑器生成的类。它允许管理应用程序的导航等。 – Mun0n