2009-09-29 64 views
0

我正在为eclipse开发一款简单的blacberry应用程序。我刚刚设置了一个带有回调的ListField,然后我的应用程序不想在关闭它后停止运行。一个非常烦人的后果是每次我想测试我的应用程序时都必须重新启动模拟器。黑莓App仍在运行

public class MyMainScreen extends MainScreen { 
    private ListField lfMessage;   // UI list of messages 
    // Constructor 
    public MyMainScreen() { 
     // set the title 
     setTitle("My App"); 
     ListField lfMessage; 
     lfMessage = new ListField(); 
     lfMessage.setEmptyString("Nothing to see here", DrawStyle.LEFT); 
     lfMessage.setSize(5); 
     lfMessage.setCallback(new MessageListCallBack()); 
     add(lfMessage); 

    } 

    // Menu item "Close" 
    private MenuItem closeItem = new MenuItem("Close", 110, 10) { 
     public void run() { 
     lfMessage.setCallback(null); 
     lfMessage = null; 


     onClose(); 
     } 
    }; 

回答

1

试试这个 只需添加这种方法来乌尔程序,它会做魔术

public boolean onClose() 
{ 
     System.exit(0); 
     return true; 
} 

这将工作是肯定的。

2

OnClose中的默认行为()是调用onSavePrompt()如果屏幕脏了,并调用close()如果成功。直接调用close()会在没有提示的情况下关闭屏幕,调用setDirty()将允许您指定脏标志的状态,或者如提到的调用System.exit(0)将终止程序。