读书人

20110408-Kuix 的 在切换到另一个界面

发布时间: 2012-08-26 16:48:06 作者: rapoo

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完成,加载缓冲条结束。

读书人网 >移动开发

热点推荐