Android弹出DatePickerDialog并获取值的方法

本文实例为大家分享了Android弹出DatePickerDialog并获取值的具体代码,供大家参考,具体内容如下

目标效果:

主界面有一个TextView,点击弹出日期选择器对话框,默认显示当前日期,选择后点击确定可以在TextView中显示选择的值。

1.activity_main.xml页面定义TextView。

activity_main.xml页面:

<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" >

  <TextView
    android:id="@+id/tvShowDialog"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="76dp"
    android:text="日期" />

</RelativeLayout>

2.MainActivity.java页面打开获取当前日期以及DatePickerDialog。

MainActivity.java页面:

package com.example.textcalendar;

import java.util.Calendar;

import android.os.Bundle;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.DatePicker;
import android.widget.TextView;

public class MainActivity extends Activity implements OnClickListener{
 private TextView tvShowDialog;
 private Calendar cal;
 private int year,month,day;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

 //获取当前日期
 getDate();

 tvShowDialog=(TextView) findViewById(R.id.tvShowDialog);
 tvShowDialog.setOnClickListener(this);

 }

 //获取当前日期
 private void getDate() {
 cal=Calendar.getInstance();
 year=cal.get(Calendar.YEAR);    //获取年月日时分秒
 Log.i("wxy","year"+year);
 month=cal.get(Calendar.MONTH);  //获取到的月份是从0开始计数
 day=cal.get(Calendar.DAY_OF_MONTH);
 }

 @Override
 public void onClick(View view) {
 switch (view.getId()) {
 case R.id.tvShowDialog:
  OnDateSetListener listener=new OnDateSetListener() {

  @Override
  public void onDateSet(DatePicker arg0, int year, int month, int day) {
   tvShowDialog.setText(year+"-"+(++month)+"-"+day);   //将选择的日期显示到TextView中,因为之前获取month直接使用,所以不需要+1,这个地方需要显示,所以+1
  }
  };
  DatePickerDialog dialog=new DatePickerDialog(MainActivity.this, 0,listener,year,month,day);//后边三个参数为显示dialog时默认的日期,月份从0开始,0-11对应1-12个月
  dialog.show();
  break;

 default:
  break;
 }
 }

}

3.需要注意的是,获取日期时月份是从0开始,另外打开对话框时默认月份也是从0开始,因为month本来就是系统中获取,不需要加1,但是指定具体数字时,需要在你想显示的月份上加1

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Android 中NumberPicker,DatePicker与DatePickerDialog中分割颜色的修改实例代码

    Android 中NumberPicker,DatePicker与DatePickerDialog中分割颜色的修改实例代码 前言: 开发中,为了应用整体美观,需要保持控件的色调和主题色保持一致, 例如:NumberPicker.DatePicker和DatePickerDialog的分割线颜色 一.NumberPicker的分割线颜色 我把对NumberPicker分割线颜色的方法写在一个工具类中,便于全局调用,代码如下: public static void setNumberPickerDi

  • Android日期选择器对话框DatePickerDialog使用详解

    调用Android原生日期选择器对话框就是DatePickerDialog,具体内容如下 在Android4.4系统上效果如图: 在Android5.0以上效果如图: 1.Activity的onCreate方法中获取当时的年,月,日 Calendar ca = Calendar.getInstance(); mYear = ca.get(Calendar.YEAR); mMonth = ca.get(Calendar.MONTH); mDay = ca.get(Calendar.DAY_OF_M

  • Android DatePicker和DatePickerDialog基本用法示例

    本文实例讲述了Android DatePicker和DatePickerDialog基本用法.分享给大家供大家参考,具体如下: DatePicker用来设置手机的时间和闹钟 1.添加一个按钮控件在配置文件中,然后给该按钮添加事件,使其能够打开DatePicker //下面采用匿名内部类的方式 btn.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { //通过下面的方法可

  • Android开发之DatePickerDialog、TimePickerDialog时间日期对话框用法示例

    本文实例讲述了Android开发之DatePickerDialog.TimePickerDialog时间日期对话框用法.分享给大家供大家参考,具体如下: 用法: 一.创建两个 DatePickerDialog.TimePickerDialog 实例调用 show() 方法即可将他们显示出来 二.为 DatePickerDialog.TimePickerDialog 实例分别绑定监听器,通过监听获得用户设置 效果: DatePickerDialog TimePickerDialog 下面是具体的实

  • android指定DatePickerDialog样式并不显示年的实现代码

    有很多地方要用到DatePickerDialog.但有时项目用到的主题样式是很丑的样式,显示出来的真丑. 而我们真正想要的样式是这样的. 这个就漂亮多了.而且很多的时候都不需要显示"年",下面看通过指定主题来显示自己想要的样式,并且通过反射机制来隐藏"年",而且可以举一反三,对这上面的东西做任务的修改. private void showDatePickerDialog() { Calendar calendar = Calendar.getInstance();

  • 详解Android中提示对话框(ProgressDialog和DatePickerDialog和TimePickerDialog&PopupWindow)

    ProgressDialog(精度条对话框): 1.直接调用ProgressDialog提供的静态方法show()显示 2.创建ProgressDialog,再设置对话框的参数,最后show()出来 package com.example.test3; import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.os.Bundle; i

  • Android弹出DatePickerDialog并获取值的方法

    本文实例为大家分享了Android弹出DatePickerDialog并获取值的具体代码,供大家参考,具体内容如下 目标效果: 主界面有一个TextView,点击弹出日期选择器对话框,默认显示当前日期,选择后点击确定可以在TextView中显示选择的值. 1.activity_main.xml页面定义TextView. activity_main.xml页面: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res

  • Layer弹出层动态获取数据的方法

    前一阵子做了一个简单的小项目,用到了Layer弹出层(弹出层的用法就不多加赘述了,官网上都有详细的介绍,这里附上网址http://layer.layui.com/),当时前后台合页面的时候就出现了一个问题,弹出层总是获取不到数据,不过后面还是和同学们一起解决了,希望能帮助到大家. 之前的代码: <a id="func11" onclick="func11();">点击查看</a> function func11() { console.log

  • 获取layer.open弹出层的返回值方法

    正在开发的车联网项目用到了layer API.当我在开发"新建电子围栏"的时候需要弹出地图,用户在地图中画一个区域,最后将这个弹出层的数据返回给原页面.下面是我的实现过:程: 触发弹出层的代码: layer.open({ type: 2, title: "设置围栏", shadeClose: true, shade: 0.4, area: ['90%', '90%'], content: "/ElectronicFence/Map?id=" +

  • 解决layer.open弹出框不能获取input框的值为空的问题

    最近使用layer框架来做页面弹出框操作.总是不能获取弹出框中input的值,代码如下:红色标记区域 添加js代码 //Ajax添加品牌 function addBrandWI(){ layer.open({ type: 0, title: '品牌添加', shadeClose: true, shade: 0.8, btn: ['保存', '取消'], area: ['40%', '70%'], content: $('#add_Brand').html(), yes:function(inde

  • Android弹出窗口实现方法

    本文实例讲述了Android弹出窗口实现方法.分享给大家供大家参考,具体如下: 直接上代码: /** * 弹窗--新手指引 * @param cxt * @param id 资源编号 * @create_time 2011-7-27 下午05:12:49 */ public static void displayWindow(Context cxt, int id) { final TextView imgTV = new TextView(cxt.getApplicationContext()

  • layui 弹出层回调获取弹出层数据的例子

    如下所示: // 弹出楼栋负责人信息页面 layer.open({ type: 2, title:'请选择楼栋负责人', maxmin: false, area: ['60%', '80%'], offset: '0px', content: '${ctx}/life/houserInsertion/headBuildingInfo?pkProject='+pkProject, btn: ['确定','关闭'], yes: function(index){ //当点击'确定'按钮的时候,获取弹出

  • 简单实现Android弹出菜单效果

    本文实例为大家分享了Android弹出菜单效果的具体代码,供大家参考,具体内容如下 功能描述:用户单击按钮弹出菜单.当用户选择一个菜单项,会触发MenuItemClick事件并让弹出的菜单消失:如果用户在菜单外单击,则直接消失弹出的菜单.当菜单消失时,会引发DismissEvent事件(利用此事件可在菜单消失时做一些后续处理). 1.运行效果 2.添加菜单项 在Resources文件夹下添加一个menu子文件夹,然后在此子文件夹下添加一个名为demo07_popup_menu.xml的文件: <

  • Android 弹出软键盘所遇到的坑及解决方法

    demo下载 重要代码: //1.此layout作为最外层的layout: //2.设置需要调整的view: setAdjustView(View view); //3.如果需要控制输入框的显示与隐藏,可以实现OnInputViewVisibleListener接口: public class SoftInputAdjustLayout extends RelativeLayout { private static final String TAG = SoftInputAdjustLayout

  • Python弹出输入框并获取输入值的实例

    使用自带的Tkinter模块,简单的弹输入框示例,返回输入值 from Tkinter import * import tkMessageBox def getInput(title, message): def return_callback(event): print('quit...') root.quit() def close_callback(): tkMessageBox.showinfo('message', 'no click...') root = Tk(className=

  • Android 弹出Dialog时隐藏状态栏和底部导航栏的方法

    上代码 dialog.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); dialog.getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() { @Override public void onSystemUi

随机推荐