diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2013-04-06 16:42:14 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2013-04-06 16:42:14 +0200 |
| commit | 64493f9a529f452d439242793973d6131c1b2536 (patch) | |
| tree | 020208b30f7c290604335638e5753f0a4ed87f5b /main/src/cgeo/geocaching/ui/EditNoteDialog.java | |
| parent | 0856587453f4df9379cda95891b9a785f3673095 (diff) | |
| parent | e46b4a46ff6c3ab07ad3172f3c39c8c98202ed46 (diff) | |
| download | cgeo-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.java | 65 |
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; + } + + +} |
