aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/ui/EditNoteDialog.java
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2013-05-10 09:10:44 +0200
committerBananeweizen <bananeweizen@gmx.de>2013-05-10 09:11:28 +0200
commitd6e525eeba8fbd066138a9d6b98bb5683c18f449 (patch)
tree071eeb0ebd1d59f462d944555ad29d99c30a1423 /main/src/cgeo/geocaching/ui/EditNoteDialog.java
parent7aad1b422c9a06bf82283c5069be74b5fafea351 (diff)
parentab6f4537d74b228ca2620abba571f5ae8bb71706 (diff)
downloadcgeo-d6e525eeba8fbd066138a9d6b98bb5683c18f449.zip
cgeo-d6e525eeba8fbd066138a9d6b98bb5683c18f449.tar.gz
cgeo-d6e525eeba8fbd066138a9d6b98bb5683c18f449.tar.bz2
Merge remote-tracking branch 'origin/release'
Diffstat (limited to 'main/src/cgeo/geocaching/ui/EditNoteDialog.java')
-rw-r--r--main/src/cgeo/geocaching/ui/EditNoteDialog.java74
1 files changed, 74 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..4d3ab6f
--- /dev/null
+++ b/main/src/cgeo/geocaching/ui/EditNoteDialog.java
@@ -0,0 +1,74 @@
+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);
+ }
+
+ public static final String ARGUMENT_INITIAL_NOTE = "initialNote";
+
+ private EditText mEditText;
+ private String initialNote;
+
+ public EditNoteDialog() {
+ // Empty constructor required for DialogFragment
+ }
+
+ public static EditNoteDialog newInstance(final String initialNote) {
+ EditNoteDialog dialog = new EditNoteDialog();
+
+ Bundle arguments = new Bundle();
+ arguments.putString(EditNoteDialog.ARGUMENT_INITIAL_NOTE, initialNote);
+ dialog.setArguments(arguments);
+
+ return dialog;
+ }
+
+ @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);
+ initialNote = getArguments().getString(ARGUMENT_INITIAL_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;
+ }
+
+
+}