我声明了以下变量:
private int year = DateTime.Now.Year, month = DateTime.Now.Month, day = DateTime.Now.Day;
我创建 DatePickerDialog:
DatePickerDialog datePickerDialog = new DatePickerDialog(this, this, year, month, day);
当我调用它的方法显示时:
datePickerDialog.Show();
它显示一个日历,09.03.2018
当它必须是今天的日期时被选中09.02.2018
。然后,当我从显示的日历中选择某个日期时,它会从我选择的日期中选择一个向后一个月的日期,例如,如果我选择10.3.2018
它说我已经选择了10.02.2018
这是我的所有活动:
public class OrdersActivity : Activity, IOnDateSetListener
{
private int year = DateTime.Now.Year, month = DateTime.Now.Month, day = DateTime.Now.Day;
Button btnDatePicker;
//set btnDatePicker's text to be whatever user has selected
public void OnDateSet(DatePicker view, int year, int month, int dayOfMonth)
{
this.year = year;
this.month = month;
this.day = dayOfMonth;
string selectedDate = String.Format(day + "." + month + "." + year);
btnDatePicker.Text = selectedDate;
}
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.Orders);
DatePickerDialog datePickerDialog = new DatePickerDialog(this, this, year, month, day);
//set btnDatePicker's text to be DateTime.Now
btnDatePicker = FindViewById<Button>(Resource.Id.btnDatePicker);
btnDatePicker.Text = DateTime.Now.ToString("dd.MM.yyyy");
btnDatePicker.Click += delegate {
datePickerDialog.Show();
};
}