2009-09-29 51 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)將終止程序。