2

我搜索了如何在 BlackBerry 中设置页眉和页脚,并找到了函数setTitle()setStatus().

我的问题是我创建了一个扩展类VerticalFieldManager。在VerticalFieldManager中,它没有向我显示setStatus功能,因为这是MainScreen类的功能。

4

1 回答 1

2

你是对的。AVerticalFieldManager不允许你setStatus()直接。

了解 BlackBerry UI 框架中类之间的关系非常重要。

首先,有Screen课。通常,aScreen将占据整个设备屏幕。您的应用程序中可以有许多不同Screen的类。也许一个Screen用于启动图像,一个屏幕用于地图视图,一个屏幕用于设置等。

您的屏幕内,您通常会Manager上课。AVerticalFieldManager是一种Manager按添加顺序从上到下排列其内容的类型。AManager包含一组相关对象,但它不必跨越整个屏幕的高度或宽度。

您的经理内部,您通常会有多个Field对象。AField是层次结构中的单个项目。 ButtonField, EditField, orBrowserField是各种字段。它们通常会被添加到管理器(容器)中。这些经理通常会被添加到屏幕中。

所以,在你的情况下,我认为你应该拥有一个屏幕类。在该屏幕类中,您将通过调用and来设置页眉页脚。页眉和页脚之间的内容都将包含在您添加到屏幕的内容中。像这样的东西: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));
   }
}
于 2013-02-28T22:15:02.697 回答