虽然EditText提供了inputTtype=“date”,但用户往往不太喜欢自己输入时间。

  Android为这个提供了DatePicker,但有很多缺点,不是弹窗模式,而是直接在页面上占据一块区域,并且不会自动关闭。

    因此它不适合直接使用,在开发中往往用已经封装好的日期选择对话框DatePickerDialog。    

  • 相当于在AlertDialog上加载了DatePicker
  • 由监听器OnDateSetListener负责响应
  • 在OnDateSet方法中获得用户选择的具体日期
  • 当然,一月份对应的不是1,是0,你懂的!
 package com.example.alimjan.hello_world;

 import java.util.Calendar;

 /**
* Created by alimjan on 7/15/2017.
*/
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.DatePicker;
import android.widget.TextView; import com.example.alimjan.hello_world.two.class__2_1_2; public class class_5_1_1 extends AppCompatActivity implements
OnClickListener, OnDateSetListener { private TextView tv_date; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.code_5_1_1);
tv_date = (TextView) findViewById(R.id.tv_date);
findViewById(R.id.btn_date).setOnClickListener(this);
} @Override
public void onClick(View v) {
if (v.getId() == R.id.btn_date) {
Calendar calendar = Calendar.getInstance();
DatePickerDialog dialog = new DatePickerDialog(this, this,
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH));
dialog.show();
}
} @Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
String desc = String.format("您选择的日期是%d年%d月%d日",
year, monthOfYear+1, dayOfMonth);
tv_date.setText(desc);
} public static void startHome(Context mContext) {
Intent intent = new Intent(mContext, class_5_1_1.class);
mContext.startActivity(intent);
} }
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp" > <Button
android:id="@+id/btn_date"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="请选择日期"
android:textColor="@color/black"
android:textSize="20sp" /> <TextView
android:id="@+id/tv_date"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textSize="17sp" /> </LinearLayout>

最新文章

  1. 一键批量添加材质的法线贴图-unity插件
  2. YARN与MRv1的对比
  3. BASE64编码和解码(VC源代码) 并 内存加载 CImage 图像
  4. watch监听 chechbox 全选
  5. NeHe OpenGL教程 第十九课:粒子系统
  6. Unix环境链接静态库
  7. Vijos p1002 过河 离散化距离+区间DP
  8. BZOJ 1026 windy数
  9. 让 Dreamweaver 支持 Emmet(原ZenCoding)
  10. java查找反复类/jar包/普通文件
  11. 反射技术在Android中的应用
  12. 移动端click事件延迟300ms的原因以及解决办法[转载]
  13. [转载]mysql绑定参数bind_param原理以及防SQL注入
  14. dblink实现不同用户之间的数据表访问
  15. apache环境下ssl证书链不完整问题解决,原因是缺少中间证书
  16. vb.net MakeWParam
  17. Spring MVC 上下文(ApplicationContext)初始化入口
  18. PHP中的回调函数
  19. LeetCode OJ 79. Word Search
  20. FasfDFS intall nginx with image filter

热门文章

  1. Check for Palindromes-FCC
  2. MyCAT-EYE开源
  3. Spring Framework 5.0 新特性
  4. 创建 Rex-Ray volume - 每天5分钟玩转 Docker 容器技术(76)
  5. Asp数据转Json
  6. Java总结篇:Java多线程
  7. sql的存储过程使用详解--基本语法
  8. windows无法启动MySQL服务 错误1067
  9. 委托、事件、Observer观察者模式的使用解析二
  10. 虚拟机+桥接模式+Host-only模式 搭建完美的Windows下Linux开发环境