package jp.alertDialogSample; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class AlertDialogSampleActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.main); final Button b = (Button) this.findViewById(R.id.Button01); b.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { new AlertDialog.Builder(AlertDialogSampleActivity.this) .setMessage("Are you sure you want to exit?") .setCancelable(false).setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { // AlertDialogSampleActivity.this.finish(); showDialog(0); } }).setNegativeButton("No", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }).show(); } // showDialog(0); //このメソッドを呼び出すと // onCreateDialogメソッドがコールバックとして呼び出される。引数0はとりあえず。 }); } @Override protected Dialog onCreateDialog(int id) { switch (id) { //引数の数字毎にcase文を記述すると処理分けできます。 case 0: return new AlertDialog.Builder(this) .setMessage("Hello AlertDialog").create(); } return null; } }