Java tutorial
/* * Copyright (C) 2017 Florian Dreier * * This file is part of MyTargets. * * MyTargets is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 * as published by the Free Software Foundation. * * MyTargets is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ package de.dreier.mytargets.features.settings; import android.content.Context; import android.content.res.TypedArray; import android.support.v7.preference.DialogPreference; import android.util.AttributeSet; import org.joda.time.LocalDate; public class DatePreference extends DialogPreference { public LocalDate date = LocalDate.now(); public DatePreference(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected Object onGetDefaultValue(TypedArray a, int index) { return a.getString(index); } @Override protected void onSetInitialValue(boolean restoreValue, Object defaultValue) { String value; if (restoreValue) { if (defaultValue == null) { value = getPersistedString(LocalDate.now().toString()); } else { value = getPersistedString(defaultValue.toString()); } } else { value = defaultValue.toString(); } date = LocalDate.parse(value); } public void persistDateValue(LocalDate value) { persistString(value.toString()); } }