aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/ui/EditNoteDialog.java
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2013-04-06 16:42:14 +0200
committerSamuel Tardieu <sam@rfc1149.net>2013-04-06 16:42:14 +0200
commit64493f9a529f452d439242793973d6131c1b2536 (patch)
tree020208b30f7c290604335638e5753f0a4ed87f5b /main/src/cgeo/geocaching/ui/EditNoteDialog.java
parent0856587453f4df9379cda95891b9a785f3673095 (diff)
parente46b4a46ff6c3ab07ad3172f3c39c8c98202ed46 (diff)
downloadcgeo-64493f9a529f452d439242793973d6131c1b2536.zip
cgeo-64493f9a529f452d439242793973d6131c1b2536.tar.gz
cgeo-64493f9a529f452d439242793973d6131c1b2536.tar.bz2
Merge branch 'issue-2598' into upstream
Diffstat (limited to 'main/src/cgeo/geocaching/ui/EditNoteDialog.java')
-rw-r--r--main/src/cgeo/geocaching/ui/EditNoteDialog.java65
1 files changed, 65 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/ui/EditNoteDialog.java b/main/src/cgeo/geocaching/ui/EditNoteDialog.java
new file mode 100644
index 0000000..23e57f2
--- /dev/null
+++ b/main/src/cgeo/geocaching/ui/EditNoteDialog.java
@@ -0,0 +1,65 @@
+package cgeo.geocaching.ui;
+
+import cgeo.geocaching.R;
+import cgeo.geocaching.R.string;
+
+import android.os.Bundle;
+import android.support.v4.app.DialogFragment;
+import android.view.KeyEvent;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager.LayoutParams;
+import android.view.inputmethod.EditorInfo;
+import android.widget.EditText;
+import android.widget.TextView;
+import android.widget.TextView.OnEditorActionListener;
+
+public class EditNoteDialog extends DialogFragment implements OnEditorActionListener {
+
+ public interface EditNoteDialogListener {
+ void onFinishEditNoteDialog(final String inputText);
+ }
+
+ private EditText mEditText;
+ private String initialNote;
+
+ public EditNoteDialog() {
+ // Empty constructor required for DialogFragment
+ }
+
+ public EditNoteDialog(final String initialNote) {
+ this.initialNote = initialNote;
+ }
+
+ @Override
+ public View onCreateView(final LayoutInflater inflater, final ViewGroup container,
+ final Bundle savedInstanceState) {
+ View view = inflater.inflate(R.layout.fragment_edit_note, container);
+ mEditText = (EditText) view.findViewById(R.id.note);
+ if (initialNote != null) {
+ mEditText.setText(initialNote);
+ initialNote = null;
+ }
+ getDialog().setTitle(string.cache_personal_note);
+ mEditText.requestFocus();
+ getDialog().getWindow().setSoftInputMode(
+ LayoutParams.SOFT_INPUT_STATE_VISIBLE);
+ mEditText.setOnEditorActionListener(this);
+
+ return view;
+ }
+
+ @Override
+ public boolean onEditorAction(final TextView v, final int actionId, final KeyEvent event) {
+ if (EditorInfo.IME_ACTION_DONE == actionId) {
+ final EditNoteDialogListener activity = (EditNoteDialogListener) getActivity();
+ activity.onFinishEditNoteDialog(mEditText.getText().toString());
+ dismiss();
+ return true;
+ }
+ return false;
+ }
+
+
+}