我有一个小问题,我不知道该怎么做。我创建了一个应用程序,它通过 xml Web 服务提取信息。数据被解析并插入到本地 sqlite 数据库中。到目前为止一切正常。由于数据的大小(根据提取的信息而有所不同),我打算插入一个带有进度条和微调器的加载屏幕,以通知用户采取了行动。好吧,可以这么说,它计划以这种方式工作。
我的问题是,一旦工作完成,它就会显示出来,而不是bevor。这就是我的做法:
Handler phHandle = new Handler(){
@Override
public void handleMessage(Message msg){
int progress = msg.arg1;
pb.setProgress(progress);
}
};
class firstInitHandler implements Runnable{
private Handler phHandle;
public void setHandle(Handler h){
this.phHandle = h;
}
public void run(){
try {
firstInit i = new firstInit();
i.doInit(this.phHandle);
if(i.isResult())
i.doParse();
if(i.isData()){
i.doTasks();
i.doEquipment();
i.doUser();
i.doCompany();
i.doForms();
i.doSysconfig();
}
} catch (NullPointerException e) {
e.printStackTrace();
}
}
}
firstInitHandler h = new firstInitHandler();
h.setHandle(phHandle);
h.run();
这是方法的一部分。到目前为止,它的工作原理。处理信息的线程在 sdk 的任务管理器中可见。我还可以看到在调试系统工作时在 logcat 上创建的状态消息。但是屏幕保持空白,仅在任务完成后才显示。我有点困惑,不知道从哪里开始让等待屏幕工作。
我欢迎任何帮助。
克里斯