加速度计中的嵌套管理器问题

时间:2011-05-18 18:49:27

标签: blackberry

我在5.0操作系统中的Tour和Storm大小版本的内部和外部管理器中创建Horizo​​ntalFieldManager。 将模拟器旋转到横向模式时,除内部管理器外,所有变量都在初始化。 在sublayout方法中,我检查了screenWidth并丢弃了所有管理器并再次添加它们。 我使用以下代码。

outerHFM = new HorizontalFieldManager() {

            protected void sublayout(int maxWidth, int maxHeight) {

                layoutChild(next, maxWidth, maxHeight);
                setPositionChild(next, 300, 5);

                layoutChild(innerHfm, 200, maxHeight);
                setPositionChild(innerHfm, 10, 5);

                layoutChild(previous, maxWidth, maxHeight);
                setPositionChild(previous, 44, 5);

                setExtent(maxWidth, 40);

            }
        };

    innerHfm = new HorizontalFieldManager(Manager.HORIZONTAL_SCROLL|Manager.USE_ALL_WIDTH) {

        protected void sublayout(int maxWidth, int maxHeight) {
            int space = 0;
            int x = 90;
            for (int i = 0; i < cardsSize; i++) {
                layoutChild(numbtn[i], 210, maxHeight);
                setPositionChild(numbtn[i], x + space+offset, 0);
                space = space + 50;
            }
            setExtent(240, 40);
        }
    };


public void sublayout(int width, int height) {
        if (UIinitialize.screenWidth != Display.getWidth()) {
            UIinitialize. Variables();
            try { 

                if (innerHfm != null) {
                    innerHfm.deleteAll();
                }

                if (outerHfm != null) {
                    (outerHfm .deleteAll();
                } 

            initialize();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        super.sublayout(width, height);
    }

UIinitialize.Variables()初始化screenWidths。

这里的initialize()方法包含创建管理器和字段的所有内容。 我怎样才能解决这个问题。

0 个答案:

没有答案