私は愛もお金に表示することができませんでしたProgressDialogを持っています。私はそれをスレッドに入れる必要があることを示唆している。アンドロイド - ProgressDialogsとスレッド
ですから、例えば
public void Update(final int ScheduleId, final Context context) {
final Handler progressHandler = new Handler() {
public void handleMessage(Message msg) {
x.dismiss();
}
};
x = ProgressDialog.show(context, "Scheduling...", "Calculating and Storing Dates", true, false);
new Thread() {
public void run() {
// Do Nothing
boolean bResult = UpdateHistory(ScheduleId, context);
Log.i("HERE","Finished Here?");
if (bResult) {
progressHandler.sendEmptyMessage(0);
}
}
}.start();
}
しかし、私のために起こるようですそのすべてが、UpdateHistoryはバックグラウンドで実行し続けながら、スピナーだけで画面をオフに消え、活動が終了していることです。
私は.start以下UpdateHistory()の呼び出し(スレッドの外)を移動した場合、私はすべてに表示進捗スピナーを得ることはありません。
正確にはイム不足していることは何ですか?
すべてこのコードは活動です。
何がお勧めできますか?ほとんどのウェブサイトはスレッドについて話すように見えますが、できる限りの方法で試してみました。私の言うように、スレッドはバックグラウンドで実行され、スピナーは関数がフォアグラウンドで実行されている間は、スピンナーをまったく取得しません。
おかげ サイモン
非同期タスクを使用してみてください、それがなければなりませんこれには完璧です。 – Jems