每次单击按钮并在处理完成后隐藏屏幕时,我都会尝试创建一个加载屏幕(在本例中为弹出面板)。
但问题是加载屏幕永远不会出现。
如果我删除隐藏加载屏幕的行:
//HIDES THE LOADING POPUP
closeLoadingFilter();
加载屏幕出现,但直到所有处理完成。(不是在我单击按钮后立即)。
我认为按钮处理程序中的所有处理必须在屏幕上出现任何内容之前完成。因此,当处理完成时,弹出窗口在屏幕上显示之前被隐藏。
我怎么解决这个问题。顺便说一句,处理过程中没有异步调用,一切都是内存处理和使用内存信息绘制谷歌可视化
谢谢你们
这是代码:
buttonFilter.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
//SHOWS THE LOADING POPUP
showLoadingFilter();
//ALL THIS TAKES AROUND 4 SECONDS
//THERE IS NO ASYNC CALL
//EVERYTHING IS IN-MEMORY PROCESSING
//AND DRAWING OF GOOGLE VISUALIZATION
listValues.clear();
listFields.clear();
CreateListFiltersSingle();
GetFilterSingleOptions();
RunFilter(dashboardProductos);
DrawVisualizations2();
//HIDES THE LOADING POPUP
closeLoadingFilter();
}
})
public void showLoadingFilter() {
popupFilterLoading.clear();
popupFilterLoading.add(new Label("Please wait"));
popupFilterLoading.setGlassEnabled(true);
popupFilterLoading.center();
isFilterLoading = true;
popupFilterLoading.show();
}
public void closeLoadingFilter() {
if (isFilterLoading) {
popupFilterLoading.hide();
isFilterLoading = false;
}
}