<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text = "查询日期: "
android:textSize = "18sp" />
<TextView
android:id = "@+id/tvDate"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_alignParentTop = "true" />
<Button
android:id = "@+id/btnDatePicker"
android:text = "编辑 "
android:layout_toRightOf = "@id/tvDate"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content" />
</LinearLayout>
package com.example.datepickerdialogtest;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
/*
* 这个Activity 的主要的功能就是:
* 点击按钮弹出对话框,显示当前的日期,然后我们可以修改日期,并点击set按钮的时候,我们会在TextView显示当前的修改的日期
*
* 这里我们主要使用的Calender对象获取当前的日期的信息
* Calendar cal=Calendar。getInstance();
* SimpleDateFormat sdf=new SimpleDateFormate("YYYY-MM-dd");
* sdf.format(Date date)
*
* 我们点击按钮的时候,就会触发事件:
* showDialog(int id)
* Dialog onCreateDialog(int id )
* 创建一个触发的事件 并定在上面的Dialog上面
* DatePickerDialog。onDateSetListener listener=new cDatePickerDialog.OnDateSetListener(){
*
* }
*
*
* */
public class DatePickerDialogNewActivity extends Activity{
private TextView datePickerView;
private Button datePickerButton;
//创建日期对象
private Calendar cal=Calendar.getInstance();
private SimpleDateFormat df=null;
private static final int DATE_PICK_ID=1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.datepickerdialognew);
datePickerView=(TextView)findViewById(R.id.tvDate);
datePickerButton=(Button)findViewById(R.id.btnDatePicker);
datePickerButton.setOnClickListener(new DatePickerOnClickListener());
}
class DatePickerOnClickListener implements OnClickListener{
@Override
public void onClick(View view) {
showDialog(DATE_PICK_ID);
}
}
DatePickerDialog.OnDateSetListener mdatePickerDialog=new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
cal .set(Calendar. YEAR , year);
cal .set(Calendar. MONTH , monthOfYear);
cal .set(Calendar. DAY_OF_MONTH , dayOfMonth);
updateDate();
}
};
private void updateDate(){
df = new SimpleDateFormat( "yyyy-MM-dd" );
datePickerView.setText( df.format(cal.getTime()));
}
/*
* 弹出日期对话框
* 显示的是当前的日期
* */
@Override
@Deprecated
protected Dialog onCreateDialog(int id) {
switch(id){
case DATE_PICK_ID:
return new DatePickerDialog(this,mdatePickerDialog,cal.get(Calendar. YEAR ),
cal .get(Calendar. MONTH ),
cal .get(Calendar. DAY_OF_MONTH ));
}
return null;
}
}