import java.util.Calendar;
import android.widget.DatePicker;
import android.app.DatePickerDialog; //日期对话框的标记 常量
private static final int DATE_DIALOG_ID = 1;
private static final int SHOW_DATAPICK = 0;
//日期变量
private int mYear;
private int mMonth;
private int mDay;
//当前操作的日期控件的标记
private String strDate_Tag=""; //购买日期
private EditText m_txtPurchaseDate = null;
private Button m_butPurchaseDate = null;
//安装日期
private EditText m_txtInstallationDate = null;
private Button m_butInstallationDate = null; protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //购买日期
m_txtPurchaseDate = (EditText) findViewById(R.id.txtPurchaseDate);
m_butPurchaseDate = (Button) findViewById(R.id.butPurchaseDate);
//安装日期
m_txtInstallationDate= (EditText) findViewById(R.id.txtInstallationDate);
m_butInstallationDate = (Button) findViewById(R.id.butInstallationDate); initDate();//初始化 日期
} //初始化 日期
private void initDate(){ final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
//setDateTime();//设置日期
strDate_Tag="PurchaseDate";//购买日期
setDateTime();
strDate_Tag="InstallationDate";//安装日期
setDateTime();
}
//设置日期 为文本框 赋值
private void setDateTime() {
if(strDate_Tag=="PurchaseDate"){//购买日期
m_txtPurchaseDate.setText(new StringBuilder().append(mYear +"-").append(
(mMonth + 1) < 10 ? "0" + (mMonth + 1)+"-" : (mMonth + 1)+"-").append(
(mDay < 10) ? "0" + mDay : mDay));
}else if(strDate_Tag=="InstallationDate"){//安装日期
m_txtInstallationDate.setText(new StringBuilder().append(mYear +"-").append(
(mMonth + 1) < 10 ? "0" + (mMonth + 1)+"-" : (mMonth + 1)+"-").append(
(mDay < 10) ? "0" + mDay : mDay));
}
} //日期控件的事件
private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
setDateTime(); //设置日期 为文本框 赋值
}
}; //购买日期Button的事件处理
class butPurchaseDateOnClickListener implements
android.view.View.OnClickListener {
public void onClick(View v) {
strDate_Tag="PurchaseDate";//当前点击的日期为 购买日期 String[] arrPurchaseDate =m_txtPurchaseDate.getText().toString().split("-");
mYear = Integer.parseInt(arrPurchaseDate[0]);
mMonth = Integer.parseInt(arrPurchaseDate[1]);
mDay = Integer.parseInt(arrPurchaseDate[2]); Message msg = new Message();
if (m_butPurchaseDate.equals((Button) v)) {
msg.what = MainActivity.SHOW_DATAPICK;
}
MainActivity.this.saleHandler.sendMessage(msg);
}
}
//购买日期Button的事件处理
class butInstallationDateOnClickListener implements
android.view.View.OnClickListener {
public void onClick(View v) {
strDate_Tag="InstallationDate";//当前点击的日期为 安装日期 String[] arrInstallationDate =m_txtInstallationDate.getText().toString().split("-");
mYear = Integer.parseInt(arrInstallationDate[0]);
mMonth = Integer.parseInt(arrInstallationDate[1]);
mDay = Integer.parseInt(arrInstallationDate[2]); Message msg = new Message();
if (m_butInstallationDate.equals((Button) v)) {
msg.what = MainActivity.SHOW_DATAPICK;
}
MainActivity.this.saleHandler.sendMessage(msg);
}
} //创建对话框 日期
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID: //日期
return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay);
}
return null;
} protected void onPrepareDialog(int id, Dialog dialog) {
switch (id) {
case DATE_DIALOG_ID:
((DatePickerDialog) dialog).updateDate(mYear, mMonth, mDay);
break;
}
} //处理日期控件的Handler
Handler saleHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case MainActivity.SHOW_DATAPICK:
showDialog(DATE_DIALOG_ID);
break;
}
}
};

Android 中日期对话框的应用的更多相关文章

  1. 9.Android之日期对话框DatePicker控件学习

    设置日期对话框在手机经常用到,今天来学习下. 首先设置好布局文件:如图 xml对应代码 <?xml version="1.0" encoding="utf-8&qu ...

  2. Android中的对话框AlertDialog使用技巧合集-转载

    Android中的对话框AlertDialog使用技巧合集     文章来自:http://blog.csdn.net/blue6626/article/details/6641105   今天我用自 ...

  3. Android中Dialog对话框的调用及监听

    Android中经常会需要在Android界面上弹出一些对话框提示用户,比如App的退出的时候都会有各种框来挽留你的心,支付宝的时候输入密码的密码框,非常常见及其实用的功能,类似于JS中的alter, ...

  4. Android中Dialog对话框

    布局文件xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns ...

  5. android中常见对话框之一AlertDialog

    在Android应用中,有多种对话框:Dialog.AlertDialog.ProgressDialog.时间.日期等对话框. (1)Dialog类,是一切对话框的基类,需要注意的是,Dialog类虽 ...

  6. android中提示&对话框----ProgressDialog&DatePickerDialog &TimePickerDialog&PopupWindow

    ProgressDialog(精度条对话框): 1.直接调用ProgressDialog提供的静态方法show()显示 2.创建ProgressDialog,再设置对话框的参数,最后show()出来 ...

  7. $Android中日期和时间选择器的实现

    创建日期或时间选择窗口需要弹出Dialog的时候,Activity类的showDialog方法已经弃用了,而推荐使用的是DialogFragment,本文总结一下其具体用法. (一)日期选择器 1.创 ...

  8. java android中日期时间 问题总结

    Date 类型: Date date = new Date();   // 代表获取当前系统日期和时间 System.out.println(date); 使用类的方法设置时间和日期:(通过该方法初始 ...

  9. android中提示&对话框----Notification

    Notification(状态栏通知) 一.Notification用于状态栏显示通知的控件,在不同的设备上面Notification是不一样的 二.Notification的基本布局 元素组成: I ...

随机推荐

  1. 树行控件TreeView 在WinForm下 怎么实现重命名功能

    public Form1() {     InitializeComponent();     this.Load+=new EventHandler(Form1_Load);     treeVie ...

  2. iOS开发-Xcode入门ObjC程序

    元旦三天假跟妹子冷战一天半,剩下的半天觉得无聊,可以写点东西,折腾了下xCode 6.1,虽然iPhone6比较丑,但是不影响IOS在高端机上面的地位,ObjC是扩充C的面向对象编程语言.主要使用于M ...

  3. 15 款JavaScript 热门图形图表库

    图表是数据图形化的表示,也就是“通过形象的图表来展示数据,比如条形图,折线图,饼图”.几乎每个开发或者项目管理团队都需要图表或者图形来简化 理解,可视化复杂的数据和 web 应用工作流.可视化图表可以 ...

  4. scala里的模式匹配和Case Class

    模式匹配的简介 scala语言里的模式匹配可以看作是java语言中switch语句的改进. 模式匹配的类型 包括:常量模式.变量模式.构造器模式.序列模式.元组模式以及变量绑定模式等. 常量模式匹配 ...

  5. Android网络缓存的实现思路

    在开发群里有多位同学问到了关于Android中网络缓存的问题.事实上不管是Android还是iOS,缓存的大致思路都是同样的,以下就几种情况下的缓存做一个大致的介绍.顺便说一下有些开源的网络请求框架已 ...

  6. ORACLE关于锁表查询的部分SQL

    http://www.cnblogs.com/quanweiru/archive/2012/08/28/2660700.html --查询表空间名称和大小 SELECT UPPER (F.TABLES ...

  7. 【React全家桶入门之十三】Redux中间件与异步action

    在上一篇中我们了解到,更新Redux中状态的流程是这种:action -> reducer -> new state. 文中也讲到.action是一个普通的javascript对象.red ...

  8. TP3.2 APP_DEBUG=false关闭调试后访问不了。页面错误!请稍后再试~

    在APP_DEBUG=true时是没问题的,在APP_DEBUG=false时才会出现找不到模板的问题.  经过排查可能是模板文件找不到问题,之前是这么写的. 改为这个就好了. ----------- ...

  9. 寻找SQL注入点

    如果要对一个网站进行SQL注入攻击,首先就需要找到存在SQL注入漏洞的地方,也就是寻找所谓的注入点.可能的SQL注入点一般存在于登录页面.查找页面或添加页面等用户可以查找或修改数据的地方. 最常用的寻 ...

  10. mysqladmin: connect to server at 'localhost' failed

    1:mysqladmin: connect to server at 'localhost' failed 2: 3: 4: