ここで「progressDialogが機能しない」スレッドのほとんどを検索しましたが、答えがどれもうまくいかないようです。
別のスレッドで実行されるメソッドを呼び出す新しいアクティビティを作成しようとしています (最大 30 ~ 50 秒かかります)。
public class FLActivity extends ListActivity {
private ProgressDialog mProgressDialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mProgressDialog = ProgressDialog.show(FLActivity.this, "",
"Loading...");
OtherClass.LongDurationMethodWhichStartsAWorkedThread();
mProgressDiagog.dismiss();
}
}
長期間の方法は次のとおりです。
// in some other class
public static LongDurationMethodWhichStartsAWorkedThread() {
Runnable r = new FFThread();
Thread thread = new Thread(r);
thread.start();
try {
thread.join();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
thread.join() を使用して、ワーカー スレッドが実行されるのを待ってから続行しました。
ただし、メッセージは表示されません。
誰でも問題を見ることができますか?