2013-02-28 168 views
2

我搜索瞭如何在黑莓中設置頁眉和頁腳,並且我找到了功能setTitle()setStatus()在VerticalFieldManager中設置頁眉和頁腳

我的問題是我創建了一個擴展VerticalFieldManager的類。在VerticalFieldManager中,它沒有顯示我setStatus的功能,因爲這是MainScreen類的功能。

+1

會告訴你,你嘗試過的代碼? – Signare 2013-02-28 04:57:04

+0

嗨,在課堂上它沒有顯示我的setStatus函數。爲此,我創建了MyScreen類的對象,並按以下方式使用setStatus函數。 MyScreen.footer.setStatus(bannerAd); – suprita 2013-02-28 06:59:18

+1

什麼是頁腳?如果你的類擴展了主屏幕,那麼使用setStatus(youir_field); – Signare 2013-02-28 07:37:30

回答

2

你說得對。 A VerticalFieldManager不允許您直接setStatus()

理解BlackBerry UI框架中的類之間的關係非常重要。

首先,有Screen類。通常,Screen將佔用整個設備屏幕。您的應用中可以有許多不同的Screen類。也許一個Screen的開機畫面,一個屏幕地圖視圖,一個屏幕設置等

裏面你的屏幕上,你會經常有Manager類。 A VerticalFieldManager是一種Manager,它按照您添加它們的順序從上到下排列其內容。 A Manager包含一組相關對象,但它不必跨越整個屏幕高度或寬度。

裏面你的經理人,你通常會有多個Field對象。 A Field是分層次中的單個項目。 ButtonField,EditFieldBrowserField是各種領域。他們通常會被添加到經理(容器)中。這些管理人員通常會被添加到屏幕上。

因此,在你的情況下,我認爲你應該有一個屏幕類。在該屏幕類中,您將通過調用setTitle()setStatus()來設置標頭頁腳。頁眉和頁腳之間的內容將全部包含在您添加到屏幕的VerticalFieldManager中。事情是這樣的:

public class MyScreen extends MainScreen { 

    public MyScreen() { 
     super(MainScreen.VERTICAL_SCROLL | MainScreen.VERTICAL_SCROLLBAR); 

     // set a header for this screen 
     setTitle("My Header/Title"); 

     // screen contents go in the vertical field manager 

     // NOTE: you can replace VerticalFieldManager with your own class 
     // that extends Manager, or VerticalFieldManager, if you like 
     VerticalFieldManager vfm = new VerticalFieldManager(); 
     vfm.add(new LabelField("One")); 
     vfm.add(new ButtonField("Two", ButtonField.CONSUME_CLICK)); 
     vfm.add(new CheckboxField("Three", true)); 

     add(vfm); 

     // use a bitmap as a footer 
     Bitmap footer = Bitmap.getBitmapResource("footer.png"); 
     setStatus(new BitmapField(footer)); 
    } 
}