如何在BlackBerry中刷新屏幕?

问题描述:

我用这对我的屏幕之一:如何在BlackBerry中刷新屏幕?

protected void makeMenu(Menu menu, int instance){ 
if (UserData.sessionId != null){ 
    menu.add(logOut); 
    menu.add(setting); 
} 
menu.add(exitApp); 

}

的“注销”和“设置”菜单仅出现在用户登录后(因此,会话ID不为空) 。 如何在用户注销后从菜单中消除“注销”和“设置”,同时屏幕仍在显示?

invalidate()?

每次按下菜单按钮时都应调用makeMenu(),因此不需要重新绘制。一旦用户注销,UserData.sessionId是否正确更新?

你也应该调用super.makeMenu()当你重写列出MakeMenu()

我不能发布一个链接到Java文档,因为我没有足够的声誉,被在那里提及。

+0

>>每次按下菜单按钮时都应该调用makeMenu(),这样就不需要重新绘制 您确定吗?因为在用户从应用程序注销后,注销和设置菜单仍然可见。我猜那里有错。嗯.. >> UserData.sessionId在用户注销后是否正确更新? 是的。 UserData.sessionId被禁止。但让我再次重新检查我的代码... – anta40 2010-08-16 12:41:38

+0

我再次无法链接到黑莓Java文档,但makeMenu()被onMenu()调用,每次要显示菜单时都会调用它。你可以看看自己检查。添加一些简单的日志记录语句可能会有所帮助,或者有使用黑莓eclipse插件的选项。 – 2010-08-16 13:36:51

+0

那么,你过得怎么样?你打算用你的进度更新答案吗? – 2010-08-18 10:57:55