2011-08-31 58 views
0

我需要可調焦的水平現場管理器,爲此我在論壇中找到了一些代碼。如何在黑莓中創建可調焦的水平現場管理器

 hfm[i]=new HorizontalFieldManager(HorizontalFieldManager.FOCUSABLE) 
     { 
      protected void onFocus(int direction) 
      { 
       Background bg = BackgroundFactory.createLinearGradientBackground(0x00E2E2E2,0x00E2E2E2,0x00E2E2E2,0x00E2E2E2); 
       setBackground(bg); 
      } 

      protected void onUnfocus() 
      { 
       Background bg = BackgroundFactory.createLinearGradientBackground(0x00FFFFFF,0x00FFFFFF,0x00FFFFFF,0x00FFFFFF); 
       setBackground(bg); 
      } 
     }; 
rtf[i]=new ExtendedLabel(list[i]); 
hfm[i].add(rtf[i]); 
add(hfm[i]); 

但它不可作爲焦點,如果

+0

退房ListStyleButtonField的情況下,這是你在試圖重新創造什麼:http://supportforums.blackberry.com/t5/Java-Development/ Implement-advanced-buttons-fields-and-managers/ta -p/488276 –

+0

感謝您的支持,這是鏈接對學習其他概念也非常有幫助 – Ajay

回答

3

你也應該將這個方法添加到您的新Horizo​​ntalFieldManager

public boolean isFocusable(){ 
    return true; 
} 

但請記住,當你設置一個經理是這樣可以獲得焦點它必須有一個可聚焦的區域,否則當屏幕試圖讓你的Managae成爲焦點時,你會得到一個空的異常。

0

這是一個已知問題,至少每個人都會遇到。 我開始在BB支持論壇主題:
Scroll happening but Vertical Field Manager Not Moving

而且給出的答案是黑莓支持論壇的文章:
My scrollable manager is not scrolling

這不是一個真正的答案,但是這是可用於唯一的解決方法此刻

另一種更多鈔票的解決方案是:

一個朋友給我的這麼lution ......你可以把你的經理到 水平經理,那麼你可以只添加一個nullfield與 可獲得焦點的行爲,這將這樣的伎倆

你可以試試。

+0

通過使用上面的鏈接標籤字段具有不同的高度是可以聚焦的。但我需要水平現場經理得到重點 – Ajay

+0

你嘗試添加nullfield嗎? 到hfm添加到哪裏? –

0

您將重點放在此。

rtf[i]=new ExtendedLabel(list[i]); 

如....

rtf[i]=new ExtendedLabel(list[i],Field.Focusable); 
相關問題