DatePickerDialog日期范围的控制
来源:互联网 发布:美国农业数据 时间 编辑:程序博客网 时间:2024/05/16 12:10
我用的是自定义dialog实现的,在DatePicker的onDateChangedListentr事件中实现范围的控制
代码如下:
public class MainActivity extends Activity {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);final TextView text = (TextView) findViewById(R.id.text);LayoutInflater l = LayoutInflater.from(this);View v = l.inflate(R.layout.dialog, null);final DatePicker datePicker = (DatePicker) v.findViewById(R.id.datepicker);datePicker.init(2000, 1, 3, new OnDateChangedListener() {@Overridepublic void onDateChanged(DatePicker view, int year,int monthOfYear, int dayOfMonth) {if (isDateAfter(view)) {view.init(2000, 11, 30, this);}if (isDateBefore(view)) {view.init(1949, 11, 30, this);}}private boolean isDateAfter(DatePicker tempView) {if (tempView.getYear() > 2000) {return true;} elsereturn false;}private boolean isDateBefore(DatePicker tempView) {if (tempView.getYear() < 1921) {return true;} elsereturn false;}});Dialog dialog = new AlertDialog.Builder(this).setTitle(datePicker.getYear() + "年"+ (datePicker.getMonth() + 1) + "月"+ datePicker.getDayOfMonth() + "日").setView(v).setIcon(R.drawable.ic_dialog_time).setNeutralButton("设置", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {text.setText(datePicker.getYear() + "年"+ (datePicker.getMonth() + 1) + "月"+ datePicker.getDayOfMonth() + "日");}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.cancel();}}).create();dialog.show();}}
自定义的dialog.xml代码如下
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <DatePicker android:id="@+id/datepicker" android:layout_width="fill_parent" android:layout_height="wrap_content" /></LinearLayout>
以上在3.0版本之前支持,在3.0版本以后请使用下面的方法
public void onClick(View v) {switch (answer.type) {case 1:// 日期类型DatePickerDialog dialog = new DatePickerDialog(ctx, this, 1980, 0,1);DatePicker datePicker = dialog.getDatePicker();datePicker.setMinDate(DateUtils.getInstance().format("1970-01-01").getTime());datePicker.setMaxDate(DateUtils.getInstance().format("2013-01-07").getTime());dialog.show();break;}}@Overridepublic void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {editText.setText(year + "年" + (monthOfYear + 1) + "月" + dayOfMonth+ "日");}
- DatePickerDialog日期范围的控制
- DatePickerDialog日期范围的控制
- DatePickerDialog日期范围的控制
- Android DatePickerDialog 设置日期范围
- DatePickerDialog 日期控件的使用
- DatePickerDialog日期选择器的使用
- android日期范围控制
- 设置日期控件DatePickerDialog的用法
- DatePickerDialog.日期控件的简单使用
- DatePickerDialog(日期选择)的简单应用
- Android日期选择器DatePickerDialog的使用
- DatePickerDialog 时间范围的设置方法(setMaxDate,setMinDate)
- 一段datepickerdialog与自定义Timepickerdialog限定时间范围的逻辑
- 设置DatePickerDialog的最大日期为当前日期
- Android--DatePickerDialog日期控件
- DatePickerDialog 日期选择对话框
- DatepickerDialog日期选择器
- DatePickerDialog日期使用
- append c program
- Hyperic HQ架构概述
- java采用jxl写入一个Excel文件
- 关于MySQL的自增
- 基于 Android NDK 进行 OpenGL ES开发
- DatePickerDialog日期范围的控制
- 谁应该参加IT培训
- 编程之美_009寻找数组中的最大值和最小值
- [ios] 单元测试
- JAVA反射机制知识讲解
- Android退出方式
- java;jsp;tomcat;mysql;hibernate;编码中文乱码全面解决方案
- note What Every Programmer Should Know About Memory
- Hibernate知识积累(一)