我在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;
}
}
});
提前致谢。
答案 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?)