好吧,这个工具大家应该都已经很熟悉了,我只是为了让自己理解的更简单一点以下是源码及注释:
package com.example.mydatepickerdemo;
import java.util.Calendar;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity implements OnClickListener {
private TextView tv_showTime;
private int year;
private int month;
private int day;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_showTime = (TextView) findViewById(R.id.tv_showTime); //获取用于显示时间的TextView组件
Calendar calendar = Calendar.getInstance(); //获取系统日历,并将其值附给我们定义的变量
year = calendar.get(Calendar.YEAR);
month = calendar.get(Calendar.MONTH)+1;
day = calendar.get(Calendar.DAY_OF_MONTH);
upDate(); //调用upDate更新TextView中显示的时间
tv_showTime.setOnClickListener(this); //给TextView设置一个点击事件
}
private void upDate(){ //将变量拼接并将其存放到showTime中
StringBuffer sb = new StringBuffer();
tv_showTime.setText(sb.append(year).append("-").append(month).append("-").append(day));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View view) { //重写点击事件
// TODO Auto-generated method stub
//实例化一个DatePickerDialog
new DatePickerDialog(MainActivity.this,new OnDateSetListener() {
//匿名内部类实现OnDateSetListener,用于选择时间的接口
@Override
public void onDateSet(DatePicker datePicker, int dateYear, int dateMonth, int dayOfMonth) {
// TODO Auto-generated method stub
year=dateYear;
month=dateMonth+1;
day=dayOfMonth;
upDate(); //将选择后的数据更新到showTime中
}
},year,month,day).show(); //显示DatePickerDialog
}
}