如何在不同的经理字段中滚动指示?

时间:2012-08-02 16:09:18

标签: blackberry field

让我举个例子。此代码在经理中运行:

protected boolean navigationMovement(int dx, int dy, int status, int time) {
        int focusIndex = getFieldWithFocusIndex();

        while (dy > 0) {
            if (focusIndex + columnwidth.length >= getFieldCount()) {
                return false;
            } else {
                Field f = getField(focusIndex + columnwidth.length);
                if (f.isFocusable()) {
                    f.setFocus();
                    dy--;
                }
            }
        }

        while (dy < 0) {
            if (focusIndex - columnwidth.length < 0) {
                return false;
            } else {
                Field f = getField(focusIndex - columnwidth.length);
                if (f.isFocusable()) {
                    f.setFocus();
                    dy++;
                }
            }
        }

        while (dx > 0) {
            focusIndex++;
            if (focusIndex >= getFieldCount()) {
                return false;
            } else {
                Field f = getField(focusIndex);
                if (f.isFocusable()) {
                    f.setFocus();
                    dx--;
                }
            }
        }

        while (dx < 0) {
            focusIndex--;
            if (focusIndex < 0) {
                return false;
            } else {
                Field f = getField(focusIndex);
                if (f.isFocusable()) {
                    f.setFocus();
                    dx++;
                }
            }
        }
        return true;
}

现在我的屏幕添加了3个不同的经理。

add(new Custom_TopField(this, 0, -1, "", 1, 1));
add(new Custom_BottomField(this, 0));
add(new Custom_HeaderField(Config_GlobalFunction.latest));

所有extends Manager但是当我走下去时,它会离开而不是走到最底层。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,但这个解决方案根本不实用。我在java类中创建了所有类。所以,这个类不能重用。