1
0
mirror of https://github.com/XFox111/GUTSchedule.git synced 2026-04-22 06:58:01 +03:00
Files
GUTSchedule/GUT.Schedule/GUTSchedule.Droid/Fragments/DatePickerFragment.cs
T
2020-02-10 17:43:20 +03:00

50 lines
1.4 KiB
C#

using System;
using Android.OS;
using Android.Widget;
using Android.App;
using System.Threading.Tasks;
using Android.Content;
namespace GUTSchedule.Droid.Fragments
{
/// <summary>
/// Date picker
/// </summary>
public class DatePickerFragment : Android.Support.V4.App.DialogFragment, DatePickerDialog.IOnDateSetListener
{
DateTime _date;
bool dismissed = false;
public override Dialog OnCreateDialog(Bundle savedInstanceState) =>
new DatePickerDialog(Activity, this, _date.Year, _date.Month - 1, _date.Day);
// Occures when user selected a date
public void OnDateSet(DatePicker view, int year, int month, int dayOfMonth)
{
_date = view.DateTime;
dismissed = true;
}
public override void OnCancel(IDialogInterface dialog)
{
base.OnCancel(dialog);
dismissed = true;
}
/// <summary>
/// Shows date picker and waits for user input
/// </summary>
/// <param name="manager">Fragment manager of the current activity (In most common cases it is <c>this.FragmentManager</c>)</param>
/// <param name="date">Date which is to be selected by default</param>
/// <returns><see cref="DateTime"/> picked by user</returns>
public async Task<DateTime> GetDate(Android.Support.V4.App.FragmentManager manager, DateTime date)
{
_date = date;
Show(manager, "datePicker");
while (!dismissed)
await Task.Delay(100);
return _date;
}
}
}