在Xamarin中在使用Datepicker的时候,一般情况下只需要在对应的按钮或其他控件的点击事件中使用如下语句即可完成:

 1 EditText etBirthday = FindViewById<EditText> (Resource.Id.userBirthday);
 2 etBirthday.Click += delegate(object sender, EventArgs e) {
 3     new DatePickerDialog (this, OnDatePickerSelect, DateTime.Today.Year, DateTime.Today.Month - 1, DateTime.Today.Day).Show();
 4 };
 5
 6 void OnDatePickerSelect(object sender, DatePickerDialog.DateSetEventArgs e)
 7 {
 8     RunOnUiThread(() =>
 9     {
10         //日期选择之后的操作方法
11         Log.Debug(e.Date.ToString("yyyy-MM-dd"));
12     });
13 }

但在使用到ActivityGroup时,则可能出现如下错误提示:

Android.Views.WindowManagerBadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@4159dd40 is not valid; is your activity running?

这是因为在使用ActivityGroup的时候是使用到Activity嵌套,使用this获取的不是当前Activity,所以需要将代码修改为如下代码:

 1 EditText etBirthday = FindViewById<EditText> (Resource.Id.userBirthday);
 2 etBirthday.Click += delegate(object sender, EventArgs e) {
 3     new DatePickerDialog (Parent, OnDatePickerSelect, DateTime.Today.Year, DateTime.Today.Month - 1, DateTime.Today.Day).Show();
 4 };
 5
 6 void OnDatePickerSelect(object sender, DatePickerDialog.DateSetEventArgs e)
 7 {
 8     RunOnUiThread(() =>
 9     {
10         //日期选择之后的操作方法
11         Log.Debug(e.Date.ToString("yyyy-MM-dd"));
12     });
13 }

如上代码中红色标注,需要将this修改为Parent,以此获取当前Activity,如使用到多层嵌套,则使用多个Parent。

转载于:https://www.cnblogs.com/songhaipeng/p/3252149.html

Xamarin中使用DatePickerDialog的相关问题相关推荐

  1. ACR2010_MRI骶髂关节炎症与CTX-II变化以及TNF拮抗剂治疗过程中全身炎症改变相关...

    原文 译文 [134] - MRI Inflammation in the Sacroiliac Joints Is Associated with CTX-II and Changes in Sys ...

  2. Visual Studio Xamarin中找不到iOS模拟器

    Visual Studio Xamarin中找不到iOS模拟器 Visual Studio可以正常连接Mac系统,但是在测试时候,提示以下错误信息: Failed to start iOS Simul ...

  3. Xamarin中打开别人项目找不到android.jar文件

    Xamarin中打开别人项目找不到android.jar文件 错误信息:Could not find android.jar for API Level 23. 打开非本机创建的Xamarin项目,编 ...

  4. Xamarin中VS无法连接Mac系统的解决办法

    Xamarin中VS无法连接Mac系统的解决办法 按照以下步骤排查: (1)确认Mac系统中安装Xamarin.iOS开发必备的组件,如Mono.Xamarin.iOS. (2)将Windows和Ma ...

  5. Xamarin中Unsupported major.minor version 52.0问题解决

    Xamarin中Unsupported major.minor version 52.0问题解决 出现这种问题,是由于所使用的Java代码使用Java 8所才具有的特性.这个时候,需要将JDK升级到J ...

  6. libevent中的时间及相关的管理

    libevent中的时间及相关的管理 在介绍时间之前,先说明几个与时间相关的函数及其用法 1.基础 1.1 clock_gettime(精度比较高,ns级) #include <time.h&g ...

  7. 动态代理——》AOP —— Spring 中的 AOP||AOP 相关术语||学习 spring 中的 AOP 要明确的事

    AOP 概述 什么是 AOP       AOP:全称是 Aspect Oriented Programming 即:面向切面编程 AOP 的作用及优势 作用: 在程序运行期间,不修改源码对已有方法进 ...

  8. Algorithm:【Algorithm算法进阶之路】之算法中的数学编程相关习题(时间速度、进制转换、排列组合、条件概率、斐波那契数列)

    Algorithm:[Algorithm算法进阶之路]之算法中的数学编程相关习题(时间速度.进制转换.排列组合.条件概率.斐波那契数列) 目录 时间速度 排列组合 进制转换 条件概率 斐波那契数列 时 ...

  9. 开发中总结的dart相关的技巧

    特意给大家带来我在开发中总结的dart相关的技巧 1. 你知道吗?Dart 支持字符串乘法. 这是一个简单的程序,显示如何使用字符串乘法打印圣诞树: void main() {for (var i = ...

最新文章

  1. 一文读懂公有链、私有链、联盟链
  2. LeetCode Reconstruct Itinerary(欧拉回路)
  3. 【数据竞赛】大规模数据调参用这个包就可以啦。
  4. 达摩院携手交通部公路科学研究院 探索国内首个道路智能解决方案
  5. 分享网页到微信朋友圈的官方接口
  6. php 安全基础 第七章 验证与授权 永久登录
  7. python多进程怎么样_Python执行多进程任务的方法
  8. 依赖注入的两种方式并附上例子
  9. 超级计算机比赛规则,AlphaGo是什么如何运行?人机大战比赛规则+交手记录资料...
  10. 伺服电机和步进电机的区别
  11. 【Dongle】【数据库系统原理】模式分解之无损分解
  12. 集成百度街景报错Error inflating class com.baidu.lbsapi.panoramaview.PanoramaView
  13. 如何恢复扩展属性为u的linux文件,chattr - 修改文件在Linux第二扩展文件系统(E2fs)上的特有属性...
  14. 基于web的木子日记个人博客网站的设计与实现
  15. Python语法基础 三
  16. 如何设计一个结构合理的java项目
  17. zip、rar解压文件
  18. gdb调试器之测不准原则
  19. 基于java的城市公交查询管理系统
  20. 要么到岗,要么离职!马斯克:特斯拉「远程办公」到此结束

热门文章

  1. 服务器云采购,从发展角度看小企业需要上云还是采购服务器
  2. java 删除图形界面_Java图形化界面报错?
  3. HTML二刺螈网址导航模板
  4. 装修材料石膏线品牌加盟类织梦模板
  5. 小说小程序源码 带采集
  6. 黑色全屏个人主页bootstrap4模板
  7. Java实现ActiveMQ之主题的生产者和消费者(二)
  8. node-webkit学习(4)Native UI API 之window
  9. 淘宝客API网站在这两年里经历了不少次百度K站风波
  10. [转载]C#获取DLL的目录