将字段管理器添加到BlackBerry中的应用程序主屏幕

时间:2011-10-18 06:28:45

标签: blackberry java-me

我正在使用适用于OS 5.0及更高版本的BlackBerry应用程序。该应用程序有一个屏幕,在屏幕顶部显示NextPrevious按钮。和列表字段也显示在这个按钮

底部的这个屏幕中

当我点击NEXT ButtonPrevious Button时,我的列表会更新显示数据..

当我点击NEXT / PREVIOUS按钮时,我必须在屏幕中央用标签“Please wait ...”显示小的VerticalfieldManager,所以在设计完这个屏幕后,我们如何在另一个管理器中添加更多的现场管理器?

有没有办法在应用程序MainScreen上显示该字段,如iPhone AppDelegate屏幕?

btnState.setChangeListener(new FieldChangeListener() {

        public void fieldChanged(Field field, int context) 
        {   vfm_Middle.add(lblPleasewait);
            popup = new PopupScreen(manager);
            Thread thread = new Thread()
            {
                public void run() 
                {
                    try
                    {
                        Updatelistfield();
                        stop();
                    }
                    catch (InterruptedException e) 
                    {
                        e.printStackTrace();
                    }
                    super.run();
                }

                public synchronized void stop() 
                {
                    // TODO Auto-generated method stub
                    UiApplication.getUiApplication().invokeLater(new Runnable() {

                        public void run() 
                        {
                            // TODO Auto-generated method stub
                            //popup.delete(vfm_Main);
                            //popup.deleteAll();
                            //vfm_Main.delete(lblPleasewait);
                            //lblPleasewait.setText(null);

                        }
                    });
                }
            };

            thread.start();

        }
    });

1 个答案:

答案 0 :(得分:0)

这样做的正确方法是使用阻止对话框。在BB API中,可以按如下方式完成:

VerticalFieldManager manager = new VerticalFieldManager();
manager.add(new LabelField("Please Wait..."));
Screen popup = new PopupScreen(manager);
//Show the pop-up the same way you push a regular screen

这具有阻止GUI的优点:如果用户按下菜单或esc键,则它没有任何效果。

如果你想在没有对话框的情况下在屏幕上进行,那么你可以添加一个空的VerticalFieldManager,当你需要显示消息时,你可以用标签填充它。这样,只刷新Manager,而不是更新整个屏幕。但是你应该编写逻辑,不要让用户按任何按钮或菜单键(或忽略按键)。