Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# CalendarView选择六月日期应用程序崩溃_C#_Xamarin_Visual Studio 2015_Calendarview - Fatal编程技术网

C# CalendarView选择六月日期应用程序崩溃

C# CalendarView选择六月日期应用程序崩溃,c#,xamarin,visual-studio-2015,calendarview,C#,Xamarin,Visual Studio 2015,Calendarview,我正在使用CalendarView创建一个Xamarin应用程序。选择日期时,除一月日期外,一切正常。任何一年的任何一个月,我的应用程序崩溃,我得到“应用程序意外停止工作” 我的XML代码是 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical

我正在使用CalendarView创建一个Xamarin应用程序。选择日期时,除一月日期外,一切正常。任何一年的任何一个月,我的应用程序崩溃,我得到“应用程序意外停止工作”

我的XML代码是

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:minWidth="25px"
    android:minHeight="25px">
    <CalendarView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/cdrCalendar"
        android:maxDate="01/01/2026" />
    <TextView
        android:text="Medium Text"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textView1" />
</LinearLayout>

我的C#代码是

命名空间BitesBoardMobile.Droid
{
类对话框\日历:DialogFragment
{
私有日历视图_日历;
私有文本视图_text;
私人国际月;
私人国际年;
私人国际日;
创建视图上的公共覆盖视图(布局、充气机、视图组容器、捆绑包保存状态)
{
base.OnCreateView(充气机、容器、保存状态);
var视图=充气机。充气(Resource.Layout.dialog\u日历,容器,false);
_calendar=view.FindViewById(Resource.Id.cdrCalendar);
_text=view.findviewbyd(Resource.Id.textView1);
_calendar.DateChange+=(对象发送者,CalendarView.DateChangeEventArgs参数)=>
{
var newdate=新日期时间(args.Year,args.Month,args.DayOfMonth);
_月份=新日期。月份+1;
_年=新日期。年;
_day=newdate.day;
_text.text=_年+“/”+_月+“/”+_日;
};
返回视图;
}
}
}
到目前为止,我所做的只是获取选定的日期并将其放在文本视图中

他们有什么想法吗?
谢谢

请查看文档:

月份int:设置为[0-11]的月份

这意味着一月是零。但是
DateTime
构造函数在1月份需要1。所以你必须加一个,就像你在下面的一行做的一样

_calendar.DateChange += (object sender, CalendarView.DateChangeEventArgs args) =>
{
    var newdate = new DateTime(args.Year, args.Month + 1, args.DayOfMonth);
    _text.Text = newdate.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture);
};

请查看文档:

月份int:设置为[0-11]的月份

这意味着一月是零。但是
DateTime
构造函数在1月份需要1。所以你必须加一个,就像你在下面的一行做的一样

_calendar.DateChange += (object sender, CalendarView.DateChangeEventArgs args) =>
{
    var newdate = new DateTime(args.Year, args.Month + 1, args.DayOfMonth);
    _text.Text = newdate.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture);
};

与.NET中的许多内容不同,构造函数希望它的参数基于1,而不是基于0。如果Android参数基于0,则需要向其添加1。

与.NET中的许多内容不同,构造函数希望其参数基于1,而不是基于0。如果Android参数基于0,则需要向其添加1