无涯教程-Android - DatePicker函数

Android Date Picker允许您在自定义用户界面中选择由日,月和年组成的日期。为此功能,android提供了DatePicker和DatePickerDialog组件。

在本教程中,我们将通过DatePickerDialog演示日期选择器的用法, DatePickerDialog是一个包含DatePicker的简单对话框。

为了显示DatePickerDialog,您必须将DatePickerDialog id传递给 showDialog(id_of_dialog)方法。其语法如下-

showDialog(999);

调用此 showDialog 方法时,会自动调用另一个名为 onCreateDialog 的方法。因此,我们也必须重写该方法。其语法如下-

@Override
protected Dialog onCreateDialog(int id) {//TODO Auto-generated method stubif (id == 999) {return new DatePickerDialog(this, myDateListener, year, month, day);}return null;
}

在最后一步,您必须注册DatePickerDialog侦听器并覆盖其onDateSet方法。此onDateSet方法包含更新的日期,月份和年份。其语法如下-

private DatePickerDialog.OnDateSetListener myDateListener = new DatePickerDialog.OnDateSetListener() {@Overridepublic void onDateSet(DatePicker arg0, int arg1, int arg2, int arg3) {//arg1=year//arg2=month//arg3=day		}
};
Set Date

除日期属性外,DatePicker对象也传递给此函数。您可以使用DatePicker的以下方法执行进一步的操作。

Sr.NoMethod & description
1

getDayOfMonth()

此方法获取每月的选定日期

2

getMonth()

此方法获取选定的月份

3

getYear()

此方法获取选定的年份

4

setMaxDate(long maxDate)

此方法设置此DatePicker支持的最大日期(自1970年1月1日00:00:00在getDefault()时区开始),以毫秒为单位。

5

setMinDate(long minDate)

此方法设置此NumberPicker支持的最小日期(以毫秒为单位),该日期自1970年1月1日00:00:00在getDefault()时区开始

6

setSpinnersShown(boolean shown)

此方法设置是否显示微调框

7

updateDate(int year,int month,int dayOfMonth)

此方法更新当前日期

8

getCalendarView()

此方法返回日历视图

9

getFirstDayOfWeek()

此方法返回一周的第一天

示例

这是一个演示DatePickerDialog类的用法的示例。它创建一个基本的Date Picker应用程序,该应用程序允许您使用DatePicker窗口小部件设置日期。

以下是修改后的主要Activity文件 src/com.example.datepicker/MainActivity.java 的内容。

package com.example.datepicker;import java.util.Calendar;import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;import android.os.Bundle;import android.view.Menu;
import android.view.View;import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.Toast;public class MainActivity extends Activity {private DatePicker datePicker;private Calendar calendar;private TextView dateView;private int year, month, day;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);dateView = (TextView) findViewById(R.id.textView3);calendar = Calendar.getInstance();year = calendar.get(Calendar.YEAR);month = calendar.get(Calendar.MONTH);day = calendar.get(Calendar.DAY_OF_MONTH);showDate(year, month+1, day);}@SuppressWarnings("deprecation")public void setDate(View view) {showDialog(999);Toast.makeText(getApplicationContext(), "ca", Toast.LENGTH_SHORT).show();}@Overrideprotected Dialog onCreateDialog(int id) {//TODO Auto-generated method stubif (id == 999) {return new DatePickerDialog(this, myDateListener, year, month, day);}return null;}private DatePickerDialog.OnDateSetListener myDateListener = new DatePickerDialog.OnDateSetListener() {@Overridepublic void onDateSet(DatePicker arg0, int arg1, int arg2, int arg3) {//TODO Auto-generated method stub//arg1=year//arg2=month//arg3=dayshowDate(arg1, arg2+1, arg3);}};private void showDate(int year, int month, int day) {dateView.setText(new StringBuilder().append(day).append("/").append(month).append("/").append(year));}
}

以下是xml res/layout/activity_main.xml 的修改内容。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:layout_marginTop="70dp"android:onClick="setDate"android:text="@string/date_button_set" /><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:layout_marginTop="24dp"android:text="@string/date_label_set"android:textAppearance="?android:attr/textAppearanceMedium" /><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@+id/button1"android:layout_marginTop="66dp"android:layout_toLeftOf="@+id/button1"android:text="@string/date_view_set"android:textAppearance="?android:attr/textAppearanceMedium" /><TextViewandroid:id="@+id/textView3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignRight="@+id/button1"android:layout_below="@+id/textView2"android:layout_marginTop="72dp"android:text="@string/date_selected"android:textAppearance="?android:attr/textAppearanceMedium" /></RelativeLayout>

以下是 res/values/string.xml 的内容。

<?xml version="1.0" encoding="utf-8"?>
<resources><string name="app_name">DatePicker</string><string name="action_settings">Settings</string><string name="hello_world">Hello world!</string><string name="date_label_set">Press the button to set the date</string><string name="date_button_set">Set Date</string><string name="date_view_set">The Date is: </string><string name="date_selected"></string>
</resources>

单击运行Eclipse Run Icon图标工具栏。 Eclipse将应用程序安装在您的AVD上并启动它,如果设置和应用程序一切正常,它将显示在Emulator窗口下面-

Android Date Picker Tutorial

现在,您可以看到底部标签上已经设置了日期,现在,我们将通过按"设置日期"按钮通过DatePickerDialog更改日期。按下按钮后,将出现以下屏幕。

Android Date Picker Tutorial

现在设置所需的日期,并在设置日期后按"OK"按钮。该对话框将消失,并且您新设置的日期将开始显示在屏幕上。如下所示。

Android Date Picker Tutorial

Android 中的 DatePicker函数 - 无涯教程网无涯教程网提供Android Date Picker允许您在自定义用户界面中选择由日,月和年组成的日期。为此功能,a...https://www.learnfk.com/android/android-datepicker-control.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/95275.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++深入浅出】类和对象上篇(类的基础、类的模型以及this指针)

目录 一. 前言 二. 面向对象与面向过程 2.1 面向过程 2.2 面向对象 三. 类的基础知识 3.1 类的引入 3.2 类的定义 3.3 成员变量的命名规则 3.4 封装 3.5 类的访问限定符 3.6 类的作用域 3.7 类的实例化 四. 类的对象模型 4.1 类对象的大小 4.2 类对象的存储方式 …

查看GPU占用率

如何监控NVIDIA GPU 的运行状态和使用情况_nvidia 85c_LiBiGo的博客-CSDN博客设备跟踪和管理正成为机器学习工程的中心焦点。这个任务的核心是在模型训练过程中跟踪和报告gpu的使用效率。有效的GPU监控可以帮助我们配置一些非常重要的超参数&#xff0c;例如批大小&#xff0c;…

RNN 单元:分析 GRU 方程与 LSTM,以及何时选择 RNN 而不是变压器

一、说明 深度学习往往感觉像是在雪山上找到自己的道路。拥有坚实的原则会让你对做出决定更有信心。我们都去过那里 在上一篇文章中&#xff0c;我们彻底介绍并检查了 LSTM 单元的各个方面。有人可能会争辩说&#xff0c;RNN方法已经过时了&#xff0c;研究它们是没有意义的。的…

PY32F003F18P单片机概述

PY32F003F18P单片机是普冉的一款ARM微控制器&#xff0c;内核是Cortex-M0。这个单片机的特色&#xff0c;就是价格便宜&#xff0c;FLASH和SRAM远远超过8位单片机&#xff0c;市场竞争力很强大。 一、硬件资源&#xff1a; 1)、FLASH为64K字节&#xff1b; 2)、SRAM为8K字节&…

【数据结构】| 并查集及其优化实现

目录 一. 并查集基本概念处理过程初始化合并查询小结 二. 求并优化2.1 按大小求并2.2 按秩(高度)求并2.3 路径压缩2.4 类的实现代码2.5 复杂度分析 三. 应用LeetCode 128: 最长连续数列LeetCode 547: 省份数量LeetCode 200: 岛屿数量 一. 并查集基本概念 以一个直观的问题来引入…

为什么要学习C++

操作系统历史 UINX操作系统诞生之初是用汇编语言编写的。随着UNIX的发展&#xff0c;汇编语言的开发效率成为一个瓶颈。寻找新的高效开发语言成为UNIX开发者需要解决的问题。当时BCPL语言成为了当时的选择之一。Ken Thomposn对BCPL进行简化得到了B语言。但是B语言不是直接生成…

JavaScript Web APIs -03 事件流、事件委托、其他事件(加载、滚动、尺寸)

Web APIs - 03 文章目录 Web APIs - 03事件流捕获和冒泡阻止冒泡 事件委托其他事件页面加载事件元素滚动事件页面尺寸事件 元素尺寸与位置 进一步学习 事件进阶&#xff0c;实现更多交互的网页特效&#xff0c;结合事件流的特征优化事件执行的效率 掌握阻止事件冒泡的方法理解事…

java 批量下载将多个文件(minio中存储)压缩成一个zip包

我的需求是将minio中存储的文件按照查询条件查询出来统一压成一个zip包然后下载下来。 思路&#xff1a;针对这个需求&#xff0c;其实可以有多个思路&#xff0c;不过也大同小异&#xff0c;一般都是后端返回流文件前端再处理下载&#xff0c;也有少数是压缩成zip包之后直接给…

PixelSNAIL论文代码学习(3)——自注意力机制的实现

文章目录 引言正文介绍自注意力机制的简单实现样例本文中的自注意力机制具体实现代码分析nn.nin函数的具体实现nn.causal_attention模块实现注意力模块实现代码完整实现代码使用pytorch实现因果注意力模块causal_atttention模块 问题 总结引用 引言 阅读了pixelSNAIL,很简短&a…

ELK安装、部署、调试(一)设计规划及准备

一、整体规划如图&#xff1a; 【filebeat】 需要收集日志的服务器&#xff0c;安装filebeat软件&#xff0c;用于收集日志。logstash也可以收集日志&#xff0c;但是占用的系统资源过大&#xff0c;所以使用了filebeat来收集日志。 【kafka】 接收filebeat的日志&#xff…

SWAT-MODFLOW地表水与地下水耦合

耦合模型被应用到很多科学和工程领域来改善模型的性能、效率和结果&#xff0c;SWAT作为一个地表水模型可以较好的模拟主要的水文过程&#xff0c;包括地表径流、降水、蒸发、风速、温度、渗流、侧向径流等&#xff0c;但是对于地下水部分的模拟相对粗糙&#xff0c;考虑到SWAT…

【LeetCode算法系列题解】第46~50题

CONTENTS LeetCode 46. 全排列&#xff08;中等&#xff09;LeetCode 47. 全排列 II&#xff08;中等&#xff09;LeetCode 48. 旋转图像&#xff08;中等&#xff09;LeetCode 49. 字母异位词分组&#xff08;中等&#xff09;LeetCode 50. Pow(x, n)&#xff08;中等&#xf…