我需要可聚焦的水平字段管理器,为此我在论坛中找到了一些代码。
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 :(得分:3)
您还应该将此方法添加到新的HorizontalFieldManager
public boolean isFocusable(){
return true;
}
请记住,当您将管理器设置为以这种方式可聚焦时,它必须在其中具有可聚焦的字段,否则当屏幕试图给您的管理焦点时,您将获得null异常。
答案 1 :(得分:0)
这是一个已知问题,至少每次都会发生在所有人身上。
我在BB支持论坛上开始了一个话题:
Scroll happening but Vertical Field Manager Not Moving
答案是黑莓支持论坛文章:
My scrollable manager is not scrolling
这不是一个真正的答案,但是目前唯一可用的解决方法
另一个可行的解决方案是:
一位朋友给了我解决方案......你可以把你的经理变成一个 水平管理器然后你可以添加一个带有的空字段 可聚焦的行为,这将做到这一点
你可以试试。
答案 2 :(得分:0)
你关注这一点。
rtf[i]=new ExtendedLabel(list[i]);
as ....
rtf[i]=new ExtendedLabel(list[i],Field.Focusable);