Android设置日期DatePickerDialog
设置日期DatePickerDialog
package com.example.testview; import java.util.Calendar; import java.util.Date; import java.util.Locale; import android.app.Activity; import android.os.Bundle; import android.widget.Button; import android.widget.DatePicker; import android.widget.TextView; import android.view.View; import android.view.View.OnClickListener; import android.app.DatePickerDialog; /** * * DatePickerDialog是设置日期对话框,通过OnDateSetListener监听并重新设置日期, * 当日期被重置后,会执行OnDateSetLintener类中的方法onDateSet() * */ public class DatePickerDialogExample extends Activity { private TextView showdate; private Button setdate; private int year; private int month; private int day; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.datepickerdialog); showdate=(TextView) this.findViewById(R.id.showtime); setdate=(Button) this.findViewById(R.id.setdate); //初始化Calendar日历对象 Calendar mycalendar=Calendar.getInstance(); year=mycalendar.get(Calendar.YEAR); //获取Calendar对象中的年 month=mycalendar.get(Calendar.MONTH);//获取Calendar对象中的月 day=mycalendar.get(Calendar.DAY_OF_MONTH);//获取这个月的第几天 showdate.setText("当前日期:"+year+"-"+(month+1)+"-"+day); //显示当前的年月日 //添加单击事件--设置日期 setdate.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { /** * 构造函数原型: * public DatePickerDialog (Context context, DatePickerDialog.OnDateSetListener callBack, * int year, int monthOfYear, int dayOfMonth) * content组件运行Activity, * DatePickerDialog.OnDateSetListener:选择日期事件 * year:当前组件上显示的年,monthOfYear:当前组件上显示的月,dayOfMonth:当前组件上显示的第几天 * */ //创建DatePickerDialog对象 DatePickerDialog dpd=new DatePickerDialog(DatePickerDialogExample.this,Datelistener,year,month,day); dpd.show();//显示DatePickerDialog组件 } }); } private DatePickerDialog.OnDateSetListener Datelistener=new DatePickerDialog.OnDateSetListener() { /**params:view:该事件关联的组件 * params:myyear:当前选择的年 * params:monthOfYear:当前选择的月 * params:dayOfMonth:当前选择的日 */ @Override public void onDateSet(DatePicker view, int myyear, int monthOfYear,int dayOfMonth) { //修改year、month、day的变量值,以便以后单击按钮时,DatePickerDialog上显示上一次修改后的值 year=myyear; month=monthOfYear; day=dayOfMonth; //更新日期 updateDate(); } //当DatePickerDialog关闭时,更新日期显示 private void updateDate() { //在TextView上显示日期 showdate.setText("当前日期:"+year+"-"+(month+1)+"-"+day); } }; }