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. [模仿微软Live.cn]JavaScript输入邮箱自动提示

    原理是:在一个输入框 中,当我输入任何字的时候 自动下拉相应的邮箱提示,在输入框输入123的时候 下拉框有所有123的邮箱 输入其他的时候 有其他文案对应的邮箱. 同理 此插件不需要任何html标签, ...

  2. JQuery模仿淘宝天猫魔盒抢购页面倒计时效果

    1.效果及功能说明 通过对时间的控制来告诉用户一个活动还剩多少时间,精确到秒.2.实现原理 首先定义活动的截至的时间,要重年份精确到毫秒,在获得当前的年份到秒钟,在用截至时间,减去现在的时间,剩下的还 ...

  3. Scala中_(下划线)的常见用法

    Scala中_(下划线)的常见用法 地址:https://www.jianshu.com/p/0497583ec538

  4. Oracle中的字符处理方法

    向左补全字符串 lpad(字段名,填充长度,填充的字符) ,') from dual; 向右补全字符串 rpad(字段名,填充长度,填充的字符) ,') from dual; 返回字符串小写 sele ...

  5. Angular6

    Structural Directives https://angular.io/guide/structural-directives#template-input-variable There a ...

  6. jQuery cssHook的经典例子

      /*--------------------------- example ------------------------------*/ $.cssHooks.foo = { get: fun ...

  7. Web Service 的工作原理(转载)

    Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的 ...

  8. ListView实现数据列表显示

    要将数据库中的数据列表显示在屏幕上,我们要使用ListView这个控件,当用户从数据库中取出数据时,要将数据绑定到显示控件上,如何绑定呢,我们需要创建适配器进行绑定,创建适配器有两种方式: 第一种是用 ...

  9. iOS new 和 alloc的区别

    一般如果只是 alloc init 那么 用new 是一样的 SomeObject*myObject =[[SomeObject alloc] init]; SomeObject*myObject = ...

  10. 算法笔记_117:算法集训之结果填空题集一(Java)

     目录 1 空瓶换汽水 2 三人年龄 3 考察团组成 4 微生物增殖 5 除去次方数 6 正六面体染色 7 古堡算式 8 海盗比酒量 9 奇怪的比赛 10 土地测量   1 空瓶换汽水 浪费可耻,节约 ...