Android手机开发:EditText+DatePicker带日期选择器的编辑框
来源:互联网 发布:nginx keepalive 编辑:程序博客网 时间:2024/05/20 05:11
1. 声明EditText变量,并关联到相应控件上
private EditText sellStartTime;private EditText sellEndTime;
sellStartTime = (EditText)findViewById(R.id.editSellStartTime);sellEndTime = (EditText)findViewById(R.id.editSellEndTime);
2. 日期选择器函数
private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { mYear = year; String mm; String dd; if(monthOfYear<=9) { mMonth = monthOfYear+1; mm="0"+mMonth; } else{ mMonth = monthOfYear+1; mm=String.valueOf(mMonth); } if(dayOfMonth<=9) { mDay = dayOfMonth; dd="0"+mDay; } else{ mDay = dayOfMonth; dd=String.valueOf(mDay); } mDay = dayOfMonth; if(timeFlag == 0) { sellStartTime.setText(String.valueOf(mYear)+"-"+mm+"-"+dd); }else { sellEndTime.setText(String.valueOf(mYear)+"-"+mm+"-"+dd); } } }; protected Dialog onCreateDialog(int id) { switch (id) { case 0: return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay); case 1: return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay); } return null; } // 隐藏手机键盘 private void hideIM(View edt){ try { InputMethodManager im = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE); IBinder windowToken = edt.getWindowToken(); if(windowToken != null) { im.hideSoftInputFromWindow(windowToken, 0); } } catch (Exception e) { } }
3. 注册监听器,当EditText获得焦点时,或者被点击时,打开日期选择器
sellStartTime.setOnClickListener(new OnClickListener(){ public void onClick(View v) { timeFlag = 0; showDialog(0);} });sellEndTime.setOnClickListener(new OnClickListener() {public void onClick(View v) {timeFlag = 1;showDialog(1);}});sellStartTime.setOnFocusChangeListener(new OnFocusChangeListener() {public void onFocusChange(View v, boolean hasFocus) {if (hasFocus == true) {timeFlag = 0;hideIM(v);showDialog(0); }}});sellEndTime.setOnFocusChangeListener(new OnFocusChangeListener() {public void onFocusChange(View v, boolean hasFocus) {if (hasFocus == true) {timeFlag = 1;hideIM(v);showDialog(1); }}});
4. 在包含EditText的LinearLayout中,添加语句
android:focusable="true" android:focusableInTouchMode="true"
这句话,是为了防止EditText自动获取焦点,触发日期选择器。
- Android手机开发:EditText+DatePicker带日期选择器的编辑框
- Android手机开发:EditText+DatePicker带日期选择器的编辑框
- 用EditText和DatePicker制作的日期选择器
- Android DatePicker日期选择器、TimePicker时间选择器的使用
- Android日期选择器(DatePicker)学习
- Android开发之日期、时间选择器(DatePicker和TimePicker)的功能和用法
- 日期选择器 DatePicker 的使用方法
- 日期选择器datepicker的使用
- 在Android EditText中实现日期时间选择器(DatePicker和TimePicker)
- 从零开始学android<日期选择器:DatePicker的使用.十二.>
- Android GUI 之日期选择器(DatePicker)
- jQueryUI的datepicker日期选择器的使用方法
- 日期选择器:jquery datepicker的使用
- 日期选择器:jquery datepicker的使用(转)
- 日期选择器:jquery datepicker的使用
- bootstrap日期时间选择器datepicker的使用
- DatePicker日期选择器年月日
- 日期选择器(Datepicker)
- 技术和创业网站收集
- 修改内核编译配置菜单(make menuconfig)
- oracle scope详解
- android Mp3播放器之音频文件扫描
- 安装Google androidmarket 和其依赖的服务方法
- Android手机开发:EditText+DatePicker带日期选择器的编辑框
- 浪潮之巅书评
- fdisk -l df -i lvdisplay[显示逻辑卷管理信息] [stat 文件名] 简介
- 也谈盛大C2C平台能否撼动淘宝
- C语言除法运算符“/”和求余运算符“%”
- sockets-getname.c网络信息
- 个人对自动化测试的认识
- hjhj
- Delphi的消息机制探索-第一部分:流程概述(转)