プログレスダイヤログのタイミングについて
現在、Androidアプリ開発にてプログレスダイヤログの表示を行っております。
意図したタイミングでプログレスダイヤログが表示されないので、どなたかご教授いただけませんでしょうか?
■理想の流れ
ボタンを押す
↓
プログレスダイヤログの表示
↓
スリープ処理
↓
プログレスダイヤログを閉じる
■現在の流れ
ボタンを押す
↓
スリープ処理
↓
ダイヤログ表示
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.xxx);
//プログレスダイヤログを生成
final ProgressDialog pd;
pd = new ProgressDialog(this);
pd.setMessage("情報を読込んでいます。しばらくお待ち下さい。");
pd.setTitle("Loading……");
pd.setIndeterminate(false);
pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);
//検索ボタンの呼び出し
Button btn = (Button)findViewById(R.id.Button21);
//検索ボタン押下の処理
btn.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
//プログレスダイヤログを生成
pd.show();
try {
Thread.sleep(10000);//10秒スリープする
} catch (InterruptedException e1) {
e1.printStackTrace();
}
.
.
.
.
No.1ベストアンサー
- 回答日時:
別スレッドで処理させればいいのかな?
http://magpad.jugem.jp/?eid=109
---
Androidは実は全然わからないけれど、
たぶん
『「(onCrick()のような)イベントハンドラ」内での
「なんらかのGUIに対するなんらかの変更」は、
そのイベントハンドラを抜けたあとでないと反映されない』
という「方針」が
採用されてるんじゃない?
(Java Swingなどでは採用されてたはず)
ようするに提示されているこのコードでいえば、
pd.show();
は、「ただちには実行されない」(あとまわしにされる)ってこと。
ご教授ありがとうございます。
kacchannさんの仰るとおり、別スレッドを作ってそこで処理させると理想の流れにする事ができました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- 工学 アクチュエータ、制御について質問です 1 2023/07/10 17:28
- 車検・修理・メンテナンス スバルサンバー(TT2)のトリップメーターの表示がおかしくなりました。 切り替えボタンを押すと「Aト 1 2022/04/29 17:11
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c# 文字列の最後から1文字削除...
-
Excel:「フォーム」のボタンで...
-
ブラウザの×ボタン判定
-
SPREADでカーソルの位置を1行目...
-
DataGridViewのチェックボック...
-
今更、VBAでRPA、キーボード操...
-
表示ボタン押下すると、テキス...
-
ロストフォーカスイベントとそ...
-
押す
-
VBAで一時中断したプログラムの...
-
F2+Ctrl押下時のイベント記述方法
-
JSPでメッセージボックスを表示...
-
C# Enterキーの動作について
-
C# VBAで言うexit subについて
-
C#でボタンの制御をしたいので...
-
javaのメイン関数 public stati...
-
Fancyboxのiframe内に閉じるボタン
-
javascript 別ウィンドウを開...
-
エクセルにカウンターを設置したい
-
CheckBoxをボタン形式にして押...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c# 文字列の最後から1文字削除...
-
DataGridViewのチェックボック...
-
VBAで一時中断したプログラムの...
-
Eclipseでクリーンが出来ない
-
ブラウザの×ボタン(閉じるボタ...
-
グリッドビューでのチェックボ...
-
メール添付されたPDFファイルが...
-
SPREADでカーソルの位置を1行目...
-
EXCEL2010でセルが編集中かを判...
-
CheckBoxをボタン形式にして押...
-
最大化ボタンと最小化ボタンを...
-
Ctrlキーを押しながらのダブル...
-
IEの閉じるボタンを消す方法
-
今更、VBAでRPA、キーボード操...
-
C# Enterキーの動作について
-
Page_Load時にボタンクリックイ...
-
Webブラウザの閉じるボタン無効...
-
【C#】 : WindowsProgramming ...
-
Fancyboxのiframe内に閉じるボタン
-
VBのこのコードの意味を教えて...
おすすめ情報