通过DialogFragment从DatePicker或TimePicker中获取日期数据

一个activity类,里面存有date和time的变量,想通过dialogfragment的方式获取用户输入的数据,来设置activity类中的变量,

首先说DatePicker

activity里面有更改date的按钮,点击这个按钮,就会弹出一个dialogFragment,设置完date后点击dialog中的设置,设置的date应用到activity中的变量

实现方法

一个MyDatePickerDialogFragment类代码:MyDatePickerDialogFragment.class

package com.example.setup;

import java.util.Calendar;

import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.os.Bundle; public class MyDateDialogFragment extends DialogFragment { public Dialog onCreateDialog(Bundle savedInstanceState) { final Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
return new DatePickerDialog(getActivity(), (AddRecordActivity)getActivity(), year, month, day); } }

parent activity是 AddRecordActivity, 它继承了Activity,实现了DatePickerDialog.OnDateSetListener接口,而DatePickerDialog.OnDateSetListener接口必须实现一个方法

@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDayOfMonth = dayOfMonth;
updateDisplay(); }

这个方法就是监听的当用户设置完date后,确认的事件,所以这个方法里面实现了当用户设置完date后,对parent中的变量mYear mMonth mDayOfMonth的更新。

至于TimePicker的实现的方式和DatePicker类似。

通过DialogFragment从DatePicker或TimePicker中获取日期数据的更多相关文章

  1. android开发中获取<meta-data>数据

    在 AndroidManifest.xml 中,<meta-data>元素是一个键值对,往往被包含在<application> .<activity>.<se ...

  2. java中获取日期和时间的方法总结

    1.获取当前时间,和某个时间进行比较.此时主要拿long型的时间值. 方法如下:  要使用 java.util.Date .获取当前时间的代码如下 Date date = new Date(); da ...

  3. 【在网页中获取截图数据】Chrome和Firefox下的实战经验

    [转载自我在segmentfault的专栏:https://segmentfault.com/a/1190000004584071] 最近在实现一个功能,需求如下: 前提:当前页面无弹窗 页面任意位置 ...

  4. Android中获取网络数据时的分页加载

    //此实在Fragment中实现的,黄色部分为自动加载,红色部分是需要注意的和手动加载,    蓝色部分是睡眠时间,自我感觉不用写  ,还有就是手动加载时,不知道为什么进去后显示的就是最后一行,求大神 ...

  5. 在 Java 8 中获取日期

    前言 前面一篇文章写了<SimpleDateFormat 如何安全的使用?>, 里面介绍了 SimpleDateFormat 如何处理日期/时间,以及如何保证线程安全,及其介绍了在 Jav ...

  6. vuex中获取的数据使用v-model绑定出问题

    get selectedProp() { return this.$store.state.selectedProp; } 获取的数据selectedProp直接绑定在表单元素上会有错,因为不能直接对 ...

  7. Windows批处理中获取日期和时间

    编写Windows bat 批处理时经常会需要使用到日期和时间作为文件名,所以是非常重要的. 如何获取日期呢? 格式: %date% 结果: -- 如何获取时间呢? 格式: %time% 结果: :: ...

  8. 【FFMPEG】从内存中获取H264数据并进行decode

    版权声明:本文为博主原创文章,未经博主允许不得转载. 使用ffmpeg解码h264数据其实相对使用x264进行视频编码是简单了许多的,因为ffmpeg提供了一个decoding_encoding.c的 ...

  9. 通过mybatis向数据库中插入日期数据

    遇到的问题: 通过mybatis向数据库中插入日期格式数据,发现只有年月日, 没有小时分钟和秒 当你想在实体类中使用java.util.Date类型,而且还想在数据库中保存时分秒时, 解决办法: 你可 ...

随机推荐

  1. hdu Write a simple HTML Browser

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1088 对比输出 代码: #include <stdio.h> #include <s ...

  2. 运用TWaver 3D 矢量图形处理能力

    的确,提起TWaver,大家想到的首先是"电信拓扑图组件".事实上.因为其灵活的MVC架构.矢量化设计.方便定制等特点.TWaver能够做的还有非常多.比如房地产行业常见到的&qu ...

  3. linux_shell_拆分文件_多进程脚本

    [需求场景]:一个10000w行的文件处理  ,多进程处理  比如启动100个进程同时处理. [方法]:拆分文件(split) ,制作shell脚本  执行后台进程 [demo]: 假设处理程序为   ...

  4. 试想一下,在代码学习Swift!

    文件       https://itunes.apple.com/us/book/the-swift-programming-language/id881256329?mt=11       htt ...

  5. BS导出csv文件的通用方法(.net)

    最近把以前项目里用的导出文件的功能提取成了dll,通过读取Attribute来得到要导出的表头(没有支持多语言),使用时只要组织好要导出的数据,调用方法就好了,希望对大家有用. 使用时只需引用下载包里 ...

  6. CKPlayer的列表框的demo

    <!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content=& ...

  7. 【转】关于“ORA-01653: 表 SYS.AUD$ 无法通过 128 (在表空间 SYSTEM 中) 扩展”的错误

    SQL*Plus: Release 11.1.0.6.0 - Production on 星期一 5月 17 18:31:08 2010 Copyright (c) 1982, 2007, Oracl ...

  8. Linux Kernel的Makefile与Kconfig文件的语法

    https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt Introduction ------------ The c ...

  9. 使用Windows2003创建DHCP服务器 - 进阶者系列 - 学习者系列文章

    Windows 2003提供的DHCP服务还是挺强大的.下面大概介绍下DHCP服务器的配置. 1.  通过控制面板安装DHCP服务 2.  打开DHCP配置项 3.  选择 新建作用域 4.  输入名 ...

  10. 使用Windows2003的IIS发布网站 - 进阶者系列 - 学习者系列文章

    本系列文章目录:http://www.cnblogs.com/lzhdim/category/277150.html Windows 2003是一款不错的Windows服务器版本.在刚工作的前些年里, ...