20110408-.Kuix 的 在切换到另一个界面时,加入加载缓冲条
?
思路:新建一个线程加载缓冲条,数据解析到dataProvider在主线程中。通过新线程判断 数据解析到dataProvider完成,加载缓冲条结束。
实现:
public interface LoadNetworkLoadBarHeader {
?
public boolean decideLoadingStatus(DataProvider dataProvider);
}
?
?
?
public class LoadNetworkLoadBar {
?
public static void loadBar(final DataProvider dataProvider, final LoadNetworkLoadBarHeader handler){
?final Gauge gauge = new Gauge();final PopupBox progressBox = Euix.showPopupBox(null, -1, gauge,null, null, null, null, null);
?Worker.instance.pushTask(new WorkerTask() {private final int PROGRESS_INCREMENT = 1;private final int MAX_PROGRESS = 10;private int progress = 0;public boolean run() {gauge.setValue(MathFP.div(progress, MAX_PROGRESS));progress += PROGRESS_INCREMENT;if ( handler.decideLoadingStatus(dataProvider)) {//数据解析到dataProvider,加载缓冲条结束
gauge.setValue(MathFP.div(MAX_PROGRESS+1 , MAX_PROGRESS));progressBox.remove();return true;}return false;}});
}
}
?
?
?
调用:
?
?
LoadNetworkLoadBar.loadBar(newsList, new LoadNetworkLoadBarHeader() {//加入数据读取加载条
public boolean decideLoadingStatus(DataProvider dataProvider) {
if(((NewsList) dataProvider).isHaveNewsList())
return true;
return false;
}
});
//////////////////////////////////////////////////////////////////////////////////////////
遇到问题:
kuix 在切换界面时还有延时问题 解决... 及网络连接的延时??
暂时解决:
思路:新建一个线程加载缓冲条,并数据解析到dataProvider。
这时在主线程中直接显示下个界面。 ? ? ? ? ? ??↗数据解析到界面中。
?? ? ?新线程判断 数据解析到dataProvider完成,加载缓冲条结束。