2011-06-13 58 views
1

我想更新事件的屏幕在黑莓應用程序中回叫。在回撥中我寫了一個自定義管理器。首先,我在加載時(即在屏幕的構造函數中)將東西添加到屏幕即管理器中。一旦它被添加了一段時間後,我得到一個回調,其中我刪除了屏幕上的所有字段,並嘗試添加新的東西。雖然deleteAll正在工作,但我無法添加新內容。我使用下面的代碼。無法將字段添加到管理器或BlackBerry的屏幕

synchronized (UiApplication.getEventLock()) { 
     manager.deleteAll(); 
     RichTextField rich1 = new RichTextField("RichTextField1"); 
     add(rich1);     
    } 

也試過調用無效但沒用。

感謝,

+0

您可以嘗試UpdateLayout請(),但我的猜測是有一個潛在的問題在其他地方。此外,你打電話給manager.deleteAll(),然後添加()而不是manager.add(),不知道這對你的屏幕設置的方式很重要 – jprofitt 2011-06-13 18:34:22

+0

我也投了'manager.add )'jprofitt指向。 – 2011-06-13 20:10:52

+0

你說你使用自定義佈局,看看你是否通過刪除它已經搞砸了 – 2011-06-14 04:50:15

回答

0

我建議另一種方法:

嘗試做插入,然後刪除,如:

synchronized (UiApplication.getEventLock()) 
    { 
     RichTextField rich1 = new RichTextField("RichTextField1"); 
     manager.insert(rich1,0); 
     manager.deleteAll();  
       or 
     manager.delete(field_to_delete);   
    } 

希望它能幫助。

+0

。 – nilMoBile 2011-09-29 20:06:31

0

試試這個:

UiApplication.getUiApplication().invokeLater(new Runnable() { 
    public void run() {     
     //Update your field here  
    } 
}); 
相關問題