【问题标题】:Event handling on Manager in BlackBerryBlackBerry Manager 上的事件处理
【发布时间】:2012-06-06 08:30:13
【问题描述】:

我在Screen 上添加了一个VerticalFieldManager。我想以这样一种方式处理该管理器上的事件,即它应该设置相对于该管理器首选高度的特定变量值。以下是我的代码sn-p,请查看。

VerticalFieldManager leftVfm = new VerticalFieldManager(Manager.VERTICAL_SCROLL){

    protected void sublayout(int width, int height) {
        super.sublayout(screenWidth - 150, INFO_HEADER_HEIGHT);
        setExtent(screenWidth - 150, INFO_HEADER_HEIGHT);
    }

    protected boolean touchEvent(TouchEvent message) {
        int eventCode = message.getEvent();
        if (eventCode == TouchEvent.DOWN) {
            // leftheight should be leftVfm.getPreferredHeight();
            INFO_HEADER_HEIGHT = leftheight;
        }
        return true;
    }
};  

【问题讨论】:

  • 有什么解决办法吗?请帮帮我。
  • 你的目标在这里不明确。您想在用户点击时更改 VFM 的布局高度吗?你能给我们提供更多关于目标的背景信息吗?
  • @MichaelDonohue :是的,你走对了。我想在用户点击它时改变 VFM 的高度。
  • 我和丹妮一样面临同样的问题,这个问题有什么解决方案吗?

标签: events blackberry user-interface java-me


【解决方案1】:

代码中的注释说:

// leftheight should be leftVfm.getPreferredHeight();

由于您想更改高度,使用像 INFO_HEADER_HEIGHT 这样的变量名称有点误导,因为全大写名称表示常量,即static final,这意味着值不会改变。

一旦你改变了你的高度变量,你只需要强制经理重新布局。最直接的方法是调用 Screen.invalidateLayout()

【讨论】:

  • 你能告诉我在点击事件后我应该如何检索该 leftvfm 的高度
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-11
相关资源
最近更新 更多