愛やお金のために表示できなかった ProgressDialog があります。少しの調査で、それをスレッドに入れる必要があることが示唆されました。
その例
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 がバックグラウンドで実行され続けている間、スピナーが画面から消えてアクティビティが終了することだけです。
UpdateHistory の呼び出しを .start() の下 (スレッドの外) に移動すると、進行状況スピナーがまったく表示されません。
私が行方不明になっているのは正確には何ですか?
このコードはすべてアクティビティにあります。
何をお勧めしますか、ほとんどのウェブサイトはスレッドについて話しているようです。私はできる限りの方法でそれらを実行しようとしました。私が言うように、バックグラウンドでスレッドを実行し、スピナーを1秒間表示するか、関数がフォアグラウンドで実行されている間、スピナーはまったく取得されません。
ありがとうサイモン