如何刷新黑莓OS 6屏幕上的屏幕[上一页]
答
class FirstScreen extends MainScreen {
private void refreshOnNextScreenClose() {
// some code to refresh the FirstScreen on NextScreen closure
}
private Runnable onNextScreenCloseCallback = new Runnable() {
refreshOnNextScreenClose();
};
// ..
// somewhere in the code where you create/push NextScreen
NextScreen nextScreen = new NextScreen(onNextScreenCloseCallback);
UiApplication.getUiApplication().pushScreen(nextScreen);
// ..
}
class NextScreen extends MainScreen {
private Runnable onCloseCallback;
public NextScreen(Runnable onCloseCallback) {
super();
this.onCloseCallback = onCloseCallback;
}
public void close() {
super.close();
if (onCloseCallback != null) onCloseCallback.run();
}
}
+0
我想知道如何刷新屏幕上的特定药水 – NCG
+1
目前还不清楚“刷新屏幕上的特殊药水”是什么意思。如果你想简单地使一些'Field'无效,那么就在该字段上调用'Field.invalidate()'。 –
非常感谢,我也想知道我必须打电话刷新整个页面。 – NCG
我不认为'Screen.onExposed()'是提问者的一个适当的回调函数,因为API表示当'这个屏幕的应用程序接收到前景'或'全局屏幕被弹出'时它也被调用。 –
的确,这不是确切的问题。但是,如果要在屏幕堆栈中隐藏屏幕后保持屏幕最新,则onExposed实际上是进行更新的最佳事件。此外,您可以将初始加载数据和更新结合到一起,并将其与此事件结合。 –