BlackBerry - 如何以编程方式刷新日历事件查看器屏幕?

时间:2009-11-14 06:01:34

标签: blackberry calendar integration

我在Blackberry日历事件查看器中创建了一个自定义菜单项,打开了另一个屏幕。当屏幕关闭时,事件已更改,并已提交。但是,以下代码无法刷新事件查看器中的内容。

以下代码位于屏幕的onClose()方法内,位于关闭屏幕之后。

UiApplication.getUiApplication().invokeLater(new Runnable()
{
    public void run()
    {
        try
        {
            event0.setString(Event.NOTE, 0, 
                PIMItem.ATTR_NONE, "blahblan");
            event0.commit();
            //The active screen is Event Viewer. I tested it.
            Screen screen = 
                UiApplication.getUiApplication().getActiveScreen();
            screen.invalidate();
        }
        catch(Exception pexp)
        {
            return;
        }
    }
});

提前致谢。

1 个答案:

答案 0 :(得分:0)

也许事件仅在事件视图屏幕构造函数中更新...

解决方法是使用事件注入关闭并打开“事件视图”屏幕

mEvent.commit();
// The active screen is Event Viewer. I tested it.
Screen screen = UiApplication.getUiApplication().getActiveScreen();
UiApplication.getUiApplication().popScreen(screen);
KeyEvent event = new KeyEvent(KeyEvent.KEY_DOWN, Characters.ENTER,
    KeyListener.STATUS_NOT_FROM_KEYPAD);
event.post();

不要忘记允许应用程序权限 - >互动 - >输入模拟。
或者以实用的方式请求它(How to give blackberry application all the available permission?