1 package jp.sourceforge.gokigen.memoma.dialogs;
3 import android.app.AlertDialog;
4 import android.app.Dialog;
5 import android.content.Context;
6 import android.util.Log;
7 import android.view.LayoutInflater;
8 import android.view.View;
9 import android.widget.TextView;
11 import jp.sourceforge.gokigen.memoma.Main;
12 import jp.sourceforge.gokigen.memoma.R;
20 public class TextEditDialog
22 private final Context context;
23 private ITextEditResultReceiver resultReceiver = null;
24 private final int icon;
25 private String title = null;
30 public TextEditDialog(Context arg, int titleIcon)
39 public void prepare(Dialog layout, ITextEditResultReceiver receiver, String titleMessage, String initialMessage, boolean isSingleLine)
43 resultReceiver = receiver;
47 final TextView editComment = (TextView) layout.findViewById(R.id.editTextArea);
48 if (titleMessage != null)
50 layout.setTitle(titleMessage);
55 if (initialMessage != null)
57 editComment.setText(initialMessage);
61 editComment.setText("");
65 editComment.setSingleLine(isSingleLine);
70 Log.v(Main.APP_IDENTIFIER, "TextEditDialog::prepare() " + ex.toString());
77 public Dialog getDialog()
79 LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
80 final View layout = inflater.inflate(R.layout.messagedialog, null);
82 AlertDialog.Builder builder = new AlertDialog.Builder(context);
83 final TextView editComment = (TextView) layout.findViewById(R.id.editTextArea);
85 // 表示するデータ(アイコン、ダイアログタイトル、メッセージ)を準備する
88 builder.setIcon(icon);
92 builder.setTitle(title);
95 builder.setView(layout);
96 builder.setCancelable(false);
97 builder.setPositiveButton(context.getString(R.string.confirmYes), (dialog, id) -> {
98 if (resultReceiver != null)
100 resultReceiver.finishTextEditDialog(editComment.getText().toString());
105 builder.setNegativeButton(context.getString(R.string.confirmNo), (dialog, id) -> {
106 if (resultReceiver != null)
108 resultReceiver.cancelTextEditDialog();
113 return (builder.create());
116 public interface ITextEditResultReceiver
118 void finishTextEditDialog(String message);
119 void cancelTextEditDialog();