【发布时间】:2011-07-30 21:35:26
【问题描述】:
我已经在链接下面发布了我的问题..
scroll change listener on blackberry
错误已解决。
但我需要在滚动后移动场中心位置。请给出任何想法...在此先感谢... 滚动条中添加了许多字段... 像这样滚动它的节目后。
但我需要像这样移动场地中心位置。
请给出任何想法..
【问题讨论】:
标签: blackberry
我已经在链接下面发布了我的问题..
scroll change listener on blackberry
错误已解决。
但我需要在滚动后移动场中心位置。请给出任何想法...在此先感谢... 滚动条中添加了许多字段... 像这样滚动它的节目后。
但我需要像这样移动场地中心位置。
请给出任何想法..
【问题讨论】:
标签: blackberry
看起来您只需要一些标志来检测这是由用户发起的滚动事件,还是来自代码(以编程方式)。
如果您以编程方式发起滚动事件,则将一些布尔值(我们称之为ignoreScrollEvent)设置为true。像这样(伪代码):
private boolean ignoreScrollEvent = false;
public void scrollChanged(Manager manager, int newHorizontalScroll,
int newVerticalScroll) {
if (!ignoreScrollEvent) {
ignoreScrollEvent = true;
// recalculate the newHorizontalScroll so the field in the focus
// gets in the middle
horizontalScrollLayout.setHorizontalScroll(newHorizontalScroll);
int fieldIndex = horizontalScrollLayout.getFieldAtLocation(
newHorizontalScroll + customfieldwidth, 0
);
Field f = horizontalScrollLayout.getField(fieldIndex);
f.setFocus();
invalidate();
} else {
ignoreScrollEvent = false;
}
}
【讨论】: