行いたいと思います。
showDialogで作成したダイアログはタスク管理を
全て任せるので、アプリ落ちしにくくしてくれます。
■サンプル
package com.example.dialog; import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //ダイアログを呼ぶ showDialog(0); } @Override protected Dialog onCreateDialog(int id) { switch (id) { case 0: return CreateDialog("タイトル", "メッセージ", id); default: return null; } } private Dialog CreateDialog(String titleId, String messageId, int id) { AlertDialog.Builder dialog = new AlertDialog.Builder(this); // タイトルの設定 dialog.setTitle(titleId); // 本文の設定 dialog.setMessage(messageId); // アイコンの設定 dialog.setIcon(R.drawable.icon); //idごとに処理を分岐 switch (id) { case 0: // dialogOKボタン dialog.setPositiveButton("OK",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { removeDialog(0); } }); // dialogキャンセルボタン dialog.setNegativeButton("キャンセル",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); break; default: } return dialog.create(); } }
こんな感じで出来上がります。
タイトルの横にあるの画像はアプリのiconをイメージしています。
アプリのiconも表示することにより、ユーザーはダイアログの表示が開発者が意図したものか、 エラーで端末が出現させたものか区別することができます。
removeDialog(0)とあるのですが、 これは出現しているダイアログを消す関数です。 EditTextやチェックを初期化したいときに用いましょう。
引数に消したいidを指定してください。
removeDialogはとりあえず、とても大切です。
はい。
自分はダイアログが好きです。 簡単に作れるし、Activityを増やさなくていいので。。。 いろいろとおしゃれに作る方法とかもありますので、別途案内していきたいです。
今回のサンプルソース内のshowDialogの引数の数値を変えて、 いろいろなダイアログを作成してみて下さい。
0 件のコメント:
コメントを投稿