ModalなDialogの使用方法

閲覧: 1,149 回
最初の未読メッセージにスキップ

abcd

未読、
2009/08/18 9:18:182009/08/18
To: 日本Androidの会
いつもお世話になっております。

AndroidでModalなDialogを使用する方法をご存知の方、ご教示頂けないでしょうか?

たとえば下記のようなコードで、
私としましては、「終了しますよー」といったダイアログが出て、
「OK」ボタンを押したら、finish()が呼ばれアプリケーションが終了することを期待しているのですが、
実際に動作させると、ダイアログが出たまま終了してしまいます。(ダイアログはその後すぐ消去されます。。)

btnFinish = (Button)findViewById(R.id.BtnFinish);
btnFinish.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
AlertDialog LDialog = new AlertDialog.Builder(v.getContext())
.setMessage("終了しますよー")
.setPositiveButton(android.R.string.ok, null).create();
LDialog.show();

finish();
}
});

WinAPIのMessageBoxのように、ユーザーがボタンをクリックするまで
次の行の命令を待っているようなAPIはありませんでしょうか?

もっと欲を言えば、たとえば、上記の例だと、
終了しますか?ダイアログで「はい」、「いいえ」を選ばさせて、「はい」を選択したときのみ、終了させたいのです。。。

お手数ですが有識者の方々ご協力の程よろしくお願いします。

栢本博文

未読、
2009/08/18 9:51:312009/08/18
To: android-g...@googlegroups.com
こんばんわ、リックスです
ソースの部分、以下のように書くのはどうでしょうか?
final AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
alertDialogBuilder.setTitle(R.string.version_name);
String version_Messgae = getString(R.string.version_message);
alertDialogBuilder.setMessage(version_Messgae);
alertDialogBuilder.setPositiveButton(" Ok ", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {   ----(i)
      // Log.v("Test", Integer.toString(which));
   }
});
alertDialogBuilder.setCancelable(true);
final AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();

(i)の部分にやりたい処理を書けばいいと思います



2009/08/18 22:18 abcd <runnynos...@gmail.com>:

arakawa

未読、
2009/08/19 10:00:232009/08/19
To: android-g...@googlegroups.com
いつもお世話になっております。
リックスさん情報ありがとうございます。

終了確認ダイアログは、ご教示頂いたやりかたでうまく行きそうですね。


ダイアログを閉じないと次の行の命令を実行しない、
といった機能はAndroidには用意されていない様子ですね。
Windowsでは、安易なデバッグ用途によく使っていたんですが。
無理やりスレッド止めるとウォッチドックに引っかかりそうですし、
考え方を変えないといけない様子ですね。

ありがとうございました。

2009/08/18 22:51 栢本博文 <lic...@gmail.com>:
全員に返信
投稿者に返信
転送
新着メール 0 件