2012-06-06 43 views
1

我在Screen上添加了一個VerticalFieldManager。我想以這樣的方式處理該經理上的事件,以便它應該針對該經理的首選高度設置特定的變量值。以下是我的代碼片段,請檢查它。BlackBerry上的管理事件處理

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; 
    } 
}; 
+0

有沒有解決方法?請幫幫我。 – Dany

+0

你的目標在這裏並不清楚。您想在用戶敲擊時更改VFM的佈局高度?你能否給我們更多關於目標的背景? –

+0

@MichaelDonohue:是的,你的方向是正確的。當用戶點擊它時,我想改變VFM的高度。 – Dany

回答

0

在代碼中的註釋說:

// leftheight should be leftVfm.getPreferredHeight();

既然你要改變的高度,用一個變量名像INFO_HEADER_HEIGHT是有點誤導,作爲全部大寫名稱表示常數即static final這意味着價值將不會改變。

一旦你改變你的高度變量,你只需要強制管理器再次佈局。最直接的方法是調用Screen.invalidateLayout()

+0

你能告訴我應該如何檢索leftvfm的高度後點擊事件 – Dany