私は小さな問題を抱えていて、それを行う方法がわかりません。xml Web サービスを介して情報を取得するアプリを作成しました。データは解析され、ローカルの sqlite データベースに挿入されます。これまでのところすべてが機能します。データのサイズ (取得された情報によって異なります) のため、アクションが実行されたことをユーザーに通知するために、プログレスバーとスピナーを含む読み込み画面を挿入するつもりでした。このように機能する予定です。
私の問題は、作業が完了するとすぐに表示されることです。これが私がやった方法です:
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 のステータス メッセージも確認できます。ただし、画面は空白のままで、タスクが完了するとすぐに表示されます。少し混乱していて、待機画面を機能させるにはどこから始めればよいかわかりません。
どんな助けでも大歓迎です。
クリス