我搜索了如何在BlackBerry中设置页眉和页脚,我找到了函数setTitle()
和setStatus()
。
我的问题是我创建了一个扩展VerticalFieldManager
的类。在VerticalFieldManager
中,它没有向我显示setStatus
函数,因为它是MainScreen
类的函数。
答案 0 :(得分:2)
VerticalFieldManager
不允许您直接setStatus()
。
了解BlackBerry UI框架中各类之间的关系非常重要。
首先,有Screen
个类。通常情况下,Screen
会占用整个设备屏幕。您的应用中可以有许多不同的Screen
课程。也许一个Screen
用于启动图像,一个屏幕用于地图视图,一个用于设置屏幕等。
在屏幕内,您通常会有Manager
个课程。 VerticalFieldManager
是一种Manager
,它按照您添加它们的顺序从上到下排列其内容。 Manager
包含一组相关对象,但不必跨越整个屏幕高度或宽度。
在您的经理内部,您通常会有多个Field
个对象。 Field
是层次结构中的单个项目。 ButtonField
,EditField
或BrowserField
是各种字段。它们通常会添加到经理(容器)中。那些经理通常会被添加到屏幕上。
所以,在你的情况下,我认为你应该拥有的是一个屏幕类。在该屏幕类中,您将通过调用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));
}
}