用EditText和DatePicker制作的日期选择器
来源:互联网 发布:网络汽车销售广告语 编辑:程序博客网 时间:2024/05/08 14:19
在Android开发中,我们经常会遇到选择日期的文本框,点击后用来选择日期时间,这个选择日期的实现方式有很多种,本文介绍一种用EditText和DatePicker制作的选择日期的编辑框,下面我们直接看待吗如何实现.
- 声明EditText变量,并关联到相应控件上
private EditText sellStartTime;
private EditText sellEndTime;
sellStartTime = (EditText)findViewById(R.id.editSellStartTime);
sellEndTime = (EditText)findViewById(R.id.editSellEndTime);
- 日期选择器函数
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自动获取焦点,触发日期选择器。
- 用EditText和DatePicker制作的日期选择器
- 如何使用Dojo的DatePicker控件制作联动日期选择器
- 日期选择器 DatePicker 的使用方法
- 日期选择器datepicker的使用
- TimePicker时间选择器和DatePicker日期选择器
- 时间和日期选择器DatePicker和TimePicker的使用
- 在Android EditText中实现日期时间选择器(DatePicker和TimePicker)
- 日期和时间选择器(DatePicker与TimePicker的用法)
- Android手机开发:EditText+DatePicker带日期选择器的编辑框
- Android手机开发:EditText+DatePicker带日期选择器的编辑框
- jQueryUI的datepicker日期选择器的使用方法
- 日期选择器:jquery datepicker的使用
- 日期选择器:jquery datepicker的使用(转)
- 日期选择器:jquery datepicker的使用
- bootstrap日期时间选择器datepicker的使用
- DatePicker日期选择器年月日
- 日期选择器(Datepicker)
- datepicker日期选择器插件
- Android开发常用服务
- CentOS下 将tomcat 添加到服务
- #345 Div2 B. Beautiful Paintings
- 73条日常Linux shell命令汇总
- java集群介绍
- 用EditText和DatePicker制作的日期选择器
- leetcode 328. Odd Even Linked List
- zoj 1084channel allocation
- C++ new 创建对象加不加括号的区别以及用new创建对象的特点
- 如何配置Java环境变量
- [021]Redis与Memcached的区别
- 面向对象——意图与逻辑(三)
- Xcode 文档阅读指南
- 用的着的AndroidStudio常用快捷键