【问题标题】:how to create a image slideshow for blackberry?如何为黑莓创建图像幻灯片?
【发布时间】:2011-06-22 13:35:45
【问题描述】:

我想要做的是在点击 screen1 中的按钮时,我尝试使用不同的图像和不同的转换上下文重复推动 screen2。

代码如下

public void fieldChanged(Field field, int context) 
{
        if(field==slideButton)
        {       
            for(int i=0;i<bitmaps.length;i++)
            {



                slideScreen = new SliderScreen(bitmaps[i]);

                UiApplication.getUiApplication().pushScreen(slideScreen);
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                UiApplication.getUiApplication().popScreen(slideScreen);

            }

        }
    }
}

问题是什么都没有出现。有没有其他方法可以实现这一点..

【问题讨论】:

    标签: user-interface blackberry blackberry-eclipse-plugin


    【解决方案1】:

    您最初想法的固定版本:

    public void fieldChanged(Field field, int context) {
        if (field==slideButton) {
    
            final UiApplication app = UiApplication.getUiApplication();
    
            new Thread(new Runnable() {
                public void run() {
                    for (int i = 0; i < bitmaps.length; i++) {
                        final SliderScreen slideScreen = 
                            new SliderScreen(bitmaps[i]);
    
                        app.invokeAndWait(new Runnable() {
                            public void run() {
                                app.pushScreen(slideScreen);
                            }
                        });
    
                        try {
                            Thread.sleep(2000);
                        } catch (InterruptedException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
    
                        app.invokeAndWait(new Runnable() {
                            public void run() {
                                app.popScreen(slideScreen);
                            }
                        });
                    }
                }
            }).start();
        }
    }
    

    您的代码不起作用,因为 UI 线程在 push 和 pop 之间处于休眠状态,因此它没有时间/机会开始绘制屏幕。请注意,我将整个操作移到了单独的线程中。所以现在主 UI 线程有空闲时间来实际绘制。

    【讨论】:

    • @Manish:这有什么成功吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多