OSDN Git Service

initial
[gokigen/A01d.git] / app / src / main / java / net / osdn / gokigen / a01d / ConfirmationDialog.java
1 package net.osdn.gokigen.a01d;
2
3 import android.content.Context;
4 import android.content.DialogInterface;
5 import android.support.v7.app.AlertDialog;
6
7 public class ConfirmationDialog
8 {
9     private final Context context;
10
11     public ConfirmationDialog(Context context)
12     {
13         this.context = context;
14     }
15
16     public void show(int titleResId, int messageResId, final Callback callback)
17     {
18         String title = "";
19         String message = "";
20
21         // タイトルとメッセージをのダイアログを表示する
22         if (context != null)
23         {
24             title = context.getString(titleResId);
25             message = context.getString(messageResId);
26         }
27         show(title, message, callback);
28     }
29
30     public void show(String title, String message, final Callback callback)
31     {
32         // 確認ダイアログの生成
33         final AlertDialog.Builder alertDialog = new AlertDialog.Builder(context);
34         alertDialog.setTitle(title);
35         alertDialog.setIcon(android.R.drawable.ic_dialog_alert);
36         alertDialog.setMessage(message);
37         alertDialog.setCancelable(true);
38
39         // ボタンを設定する(実行ボタン)
40         alertDialog.setPositiveButton(context.getString(R.string.dialog_positive_execute),
41                 new DialogInterface.OnClickListener() {
42                     public void onClick(DialogInterface dialog, int which)
43                     {
44                         callback.confirm();
45                         dialog.dismiss();
46                     }
47                 });
48
49         // ボタンを設定する (キャンセルボタン)
50         alertDialog.setNegativeButton(context.getString(R.string.dialog_negative_cancel),
51                 new DialogInterface.OnClickListener() {
52                     public void onClick(DialogInterface dialog, int which)
53                     {
54                         dialog.cancel();
55                     }
56                 });
57
58         // 確認ダイアログを表示する
59         alertDialog.show();
60     }
61
62     // コールバックインタフェース
63     public interface Callback
64     {
65         void confirm();
66     }
67 }