无涯教程-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.rhkb.cn/news/115029.html

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

相关文章

RTSP/Onvif视频服务器EasyNVR安防视频平台服务器频繁重启的问题解决方案

EasyNVR平台优秀的视频能力在于通过RTSP/ONVIF协议&#xff0c;将前端接入设备的音视频资源进行采集&#xff0c;并转码成适合全平台、全终端分发的视频流格式&#xff0c;包括RTSP、RTMP、FLV、HLS、WebRTC等格式。平台可拓展性强、部署轻快&#xff0c;在安防监控领域有着广泛…

决策树(Decision Tree)

决策树的定义: 分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点&#xff08;node&#xff09;和有向边&#xff08;directed edge&#xff09;组成。结点有两种类型: 内部结点&#xff08;internal node&#xff09;和叶结点&#xff08;leaf node&#xff0…

Linux的内存理解

建议 Mysql机器 尽量不要硬swap,如果是ssd磁盘还好。Free命令 free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存 输出简介: Mem 行(第二行)是内存的使用情况。Swap 行(第三行)是交换空间的使用情况。total 列显示系统总的可用物理内存和交换…

curl通过webdav操作alist

创建目录: url202320230828;curl -v -u "admin":"这里是密码" -X MKCOL "http://127.0.0.1:5244/dav/my189tianyi/${url2023}/" 上传文件: curl -v -u "admin":"这里是密码" -T /tmp/aa.json "http://127.0.0.1:52…

Android Activity 启动流程 二:setContentView

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、概览二、setContentView&#xff08;&#xff09;三…

springboot集成es 插入和查询的简单使用

第一步&#xff1a;引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId><version>2.2.5.RELEASE</version></dependency>第二步&#xff1a;…

iTOP-RK3588开发板Android12 设置系统默认不休眠

修改文件&#xff1a; device/rockchip/rk3588/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults. xml 文件&#xff0c;如下图所示&#xff1a; - <integer name"def_screen_off_timeout">60000</integer> <integer name&q…

什么是同源策略(same-origin policy)?它对AJAX有什么影响?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 同源策略&#xff08;Same-Origin Policy&#xff09;与 AJAX 影响⭐ 同源策略的限制⭐ AJAX 请求受同源策略影响⭐ 跨域资源共享&#xff08;CORS&#xff09;⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记…

小文智能GPT助手介绍

如何使用小文交互的GPT助手&#xff0c;让AI更加智能&#xff0c;适用更多场景&#xff1f; 在小文智能最新推出的4.0版本&#xff0c;有一个新功能&#xff0c;叫做GPT助手。GPT助手&#xff0c;顾名思义&#xff0c;即在小文智能的场景中&#xff0c;接入ChatGPT&#xff0c…

C++(17):异常处理

异常处理机制允许程序中独立开发的部分能够在运行时就出现的问题进行通信并做出相应的处理。 异常使得能够将问题的检测与解决过程分离开来&#xff1a;程序的一部分负责检测问题的出现&#xff0c;然后解决该问题的任务传递给程序的另一部分。检测环节无须知道问题处理模块的…

癌症预测新利器:弹性逻辑回归让健康更可控!

一、引言 癌症是全球范围内健康领域的重大挑战&#xff0c;早期预测和诊断对于提高治疗效果和生存率至关重要。在过去的几十年里&#xff0c;随着医学和数据科学的快速发展&#xff0c;基于机器学习和统计方法的癌症风险预测成为研究的热点。其中&#xff0c;弹性逻辑回归作为一…

Ansible学习笔记14

实现多台的分离实现&#xff1a; [rootlocalhost playbook]# cat example3.yaml --- - hosts: 192.168.17.105remote_user: roottasks:- name: create test1 directoryfile: path/test1/ statedirectory- hosts: 192.168.17.106remote_user: roottasks:- name: create test2 d…

【leetcode 力扣刷题】字符串翻转合集(全部反转///部分反转)

字符串翻转合集 344. 反转字符串541. 反转字符串Ⅱ151. 反转字符串中的单词剑指 Offer 58 - II. 左旋转字符串反转单词思路循环挪动子串和子串的拼接 344. 反转字符串 题目链接&#xff1a;344. 反转字符串 题目内容&#xff1a; 题目中重点强调了必须原地修改输入数组&#…

FPGA时序分析与约束(1)——组合电路时序

写在最前面&#xff1a; 关于时序分析和约束的学习似乎是学习FPGA的一道分水岭&#xff0c;似乎只有理解了时序约束才能算是真正入门了FPGA&#xff0c;对于FPGA从业者或者未来想要从事FPGA开发的工程师来说&#xff0c;时序约束可以说是一道躲不过去的坎&#xff0c;所以从这篇…

【字节跳动青训营】后端笔记整理-4 | Go框架三件套之GORM的使用

**本人是第六届字节跳动青训营&#xff08;后端组&#xff09;的成员。本文由博主本人整理自该营的日常学习实践&#xff0c;首发于稀土掘金。 我的go开发环境&#xff1a; *本地IDE&#xff1a;GoLand 2023.1.2 *go&#xff1a;1.20.6 *MySQL&#xff1a;8.0 本文介绍Go框架三…

HTTP协议概述

HTTP 协议定义 HTTP协议&#xff0c;直译为超文本传输协议&#xff0c;是一种用于分布式、协作、超媒体的信息系统的应用协议。HTTP协议是万维网数据通信的基础。HTTP协议在客户端-服务器计算模型中充当请求-响应协议。客户端向服务器提交HTTP请求消息。服务器提供HTML文件和其…

前端将UTC时间格式转化为本地时间格式~~uniapp写法

UTC时间格式是什么 首先我们先简单的了解一下&#xff1a;UTC时间&#xff08;协调世界时&#xff0c;Coordinated Universal Time&#xff09;使用24小时制&#xff0c;以小时、分钟、秒和毫秒来表示时间 HH:mm:ss.SSSHH 表示小时&#xff0c;取值范围为00到23。mm 表示分钟…

【C++】map/multimap容器

1.map基本概念 2.map构造和赋值 #include <iostream> using namespace std;//map容器 构造和赋值 #include<map>//遍历输出map容器 void printMap(const map<int, int>& m) {for (map<int, int>::const_iterator it m.begin(); it ! m.end(); it)…

PHP多语言代入电商平台api接口采集拼多多根据ID获取商品详情原数据示例

拼多多商品详情原数据API接口的作用是获取拼多多电商平台上某一商品的详细信息&#xff0c;包括商品的标题、价格、库存、图片、描述、包邮信息、销量、评价、优惠券等数据。通过该API接口可以获取到商品的原始数据&#xff0c;用于分析、筛选和展示商品信息。 pinduoduo.item…

Python飞机大战小游戏

游戏规则&#xff1a;键盘上下左右键控制飞机移动 游戏展示图片&#xff1a; 源码&#xff1a; 第一个py命名为&#xff1a;plane_main.py import pygamefrom plane_sprites import *class PlaneGame(object):# """飞机大战主游戏"""def __in…