diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2013-01-27 08:50:47 +0100 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2013-01-27 08:50:47 +0100 |
| commit | 6180c4de937cbd1d148106bbd43d1beb60f8c8b1 (patch) | |
| tree | 07b9227017eaa8f8ed63b57222b15b21f25b5c8e /main/src/cgeo/geocaching/ui/dialog/DateDialog.java | |
| parent | 81b311085fd92e67676c3e19504b6c92c6d52209 (diff) | |
| download | cgeo-6180c4de937cbd1d148106bbd43d1beb60f8c8b1.zip cgeo-6180c4de937cbd1d148106bbd43d1beb60f8c8b1.tar.gz cgeo-6180c4de937cbd1d148106bbd43d1beb60f8c8b1.tar.bz2 | |
refactoring: move some more dialogs into new package
Diffstat (limited to 'main/src/cgeo/geocaching/ui/dialog/DateDialog.java')
| -rw-r--r-- | main/src/cgeo/geocaching/ui/dialog/DateDialog.java | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/ui/dialog/DateDialog.java b/main/src/cgeo/geocaching/ui/dialog/DateDialog.java new file mode 100644 index 0000000..a9c579c --- /dev/null +++ b/main/src/cgeo/geocaching/ui/dialog/DateDialog.java @@ -0,0 +1,59 @@ +package cgeo.geocaching.ui.dialog; + +import cgeo.geocaching.R; + +import android.app.Activity; +import android.app.Dialog; +import android.os.Bundle; +import android.view.ViewGroup.LayoutParams; +import android.view.Window; +import android.widget.DatePicker; + +import java.util.Calendar; + +public class DateDialog extends Dialog { + + public interface DateDialogParent { + abstract public void setDate(final Calendar date); + } + + private final DateDialogParent parent; + private final Calendar date; + + public DateDialog(Activity contextIn, DateDialogParent parentIn, Calendar dateIn) { + super(contextIn); + + // init + this.date = dateIn; + this.parent = parentIn; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + try { + requestWindowFeature(Window.FEATURE_NO_TITLE); + getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); + } catch (Exception e) { + // nothing + } + + setContentView(R.layout.date); + + final DatePicker picker = (DatePicker) findViewById(R.id.picker); + picker.init(date.get(Calendar.YEAR), date.get(Calendar.MONTH), date.get(Calendar.DATE), new DatePickerListener()); + } + + private class DatePickerListener implements DatePicker.OnDateChangedListener { + + @Override + public void onDateChanged(DatePicker picker, int year, int month, int day) { + if (parent != null) { + date.set(year, month, day); + + parent.setDate(date); + } + } + } +}
\ No newline at end of file |
