2011-06-11 181 views
2

我正在开发一个应用程序。而且我正面临一个与更新屏幕相关的问题,该屏幕已经在堆栈中。我试图在按钮单击时使用myappscreen.invalidate(),但它不更新屏幕。如何更新黑莓手机屏幕?

请帮我解决这个问题。

回答

1

您的屏幕是活动屏幕吗?

要重新绘制活动屏幕,您只需调用invalidate()方法即可刷新屏幕。

你从哪里调用invalidate()?除非有事件锁定,否则不能从Timer线程调用invalidate()。

+0

API对'invalidate()'和事件锁说了一个相反的事情:“可以安全地调用此函数而不同步事件锁。” – 2011-06-11 22:19:38

+0

如果你正在做的事情无效,你可以在没有事件锁的情况下调用invalidate()。如果你正在更新任何组件/字段等,那么你需要保持事件锁定。 – Dave 2011-06-12 09:20:49

0

如果您想更新屏幕,请覆盖UiApplication的activate()并在您要更新的位置编写代码。