OSDN Git Service

ちょっとだけ、preferenceの準備。
[gokigen/FujiCam.git] / app / src / main / java / net / osdn / gokigen / cameratest / ConfirmationDialog.java
1 package net.osdn.gokigen.cameratest;
2
3 import android.content.Context;
4 import android.content.DialogInterface;
5
6 import androidx.appcompat.app.AlertDialog;
7 import androidx.appcompat.app.AppCompatDialogFragment;
8
9 public class ConfirmationDialog extends AppCompatDialogFragment
10 {
11     private Context context = null;
12
13     public static ConfirmationDialog newInstance(Context context)
14     {
15         ConfirmationDialog instance = new ConfirmationDialog();
16         instance.prepare(context);
17
18         return (instance);
19     }
20
21     private void prepare(Context context)
22     {
23         this.context = context;
24     }
25
26     public void show(int titleResId, int messageResId, final Callback callback)
27     {
28         String title = "";
29         String message = "";
30
31         // タイトルとメッセージをのダイアログを表示する
32         if (context != null)
33         {
34             title = context.getString(titleResId);
35             message = context.getString(messageResId);
36         }
37         show(title, message, callback);
38     }
39
40     public void show(String title, String message, final Callback callback)
41     {
42         // 確認ダイアログの生成
43         final AlertDialog.Builder alertDialog = new AlertDialog.Builder(context);
44         alertDialog.setTitle(title);
45         alertDialog.setIcon(android.R.drawable.ic_dialog_alert);
46         alertDialog.setMessage(message);
47         alertDialog.setCancelable(true);
48
49         // ボタンを設定する(実行ボタン)
50         alertDialog.setPositiveButton(context.getString(R.string.dialog_positive_execute),
51                 new DialogInterface.OnClickListener() {
52                     public void onClick(DialogInterface dialog, int which)
53                     {
54                         callback.confirm();
55                         dialog.dismiss();
56                     }
57                 });
58
59         // ボタンを設定する (キャンセルボタン)
60         alertDialog.setNegativeButton(context.getString(R.string.dialog_negative_cancel),
61                 new DialogInterface.OnClickListener() {
62                     public void onClick(DialogInterface dialog, int which)
63                     {
64                         dialog.cancel();
65                     }
66                 });
67
68         // 確認ダイアログを表示する
69         alertDialog.show();
70     }
71
72     public void show(int iconResId, String title, String message)
73     {
74         // 表示イアログの生成
75         final AlertDialog.Builder alertDialog = new AlertDialog.Builder(context);
76         alertDialog.setTitle(title);
77         alertDialog.setIcon(iconResId);
78         alertDialog.setMessage(message);
79         alertDialog.setCancelable(true);
80
81         // ボタンを設定する(実行ボタン)
82         alertDialog.setPositiveButton(context.getString(R.string.dialog_positive_execute),
83                 new DialogInterface.OnClickListener() {
84                     public void onClick(DialogInterface dialog, int which)
85                     {
86                         dialog.dismiss();
87                     }
88                 });
89
90         // 確認ダイアログを表示する
91         alertDialog.show();
92     }
93
94     // コールバックインタフェース
95     public interface Callback
96     {
97         void confirm();
98     }
99 }