上一讲我们讲解了ProgressDialog的对话框的操作,这一讲我们来讲解一下日期和时间的对话框的操作
1. DatePickerDialog 日期对话框的操作
查看 DatePickerDialog 的API文档,它也是继承关系如下所示:
构造方法如下:DatePickerDialog extends AlertDialogimplements DialogInterface.OnClickListener DatePicker.OnDateChangedListener
public DatePickerDialog (Context context, DatePickerDialog.OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth)
Context context:上下文对象DatePickerDialog.OnDateSetListener callBack 第二个参数表示,当点击改变日期时,会触发这个回调int year, int monthOfYear, int dayOfMonth 初始化年月日
2. TimePickerDialog 时间对话框的操作
时间对话框与日期对话框的操作类似。
public TimePickerDialog (Context context, TimePickerDialog.OnTimeSetListener callBack, int hourOfDay, int minute, boolean is24HourView)
最后一个参数,表示选择二十四小时的形式,或者分为上午/下午的形式
is24HourView Whether this is a 24 hour view, or AM/PM.
3. 程序代码
public class MainActivity extends Activity { private Button button; private Button button2; // 初始化年月日 private int year; private int monthOfYear; private int dayOfMonth; // 初始化时间 private int hourOfDay; private int minute; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initComponent(); // 初始化年月日 Calendar calendar = Calendar.getInstance(); year = calendar.get(Calendar.YEAR); monthOfYear = calendar.get(Calendar.MONTH); dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); // 初始化时间 hourOfDay = calendar.get(Calendar.HOUR_OF_DAY); minute = calendar.get(Calendar.MINUTE); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this, new OnDateSetListener() { //当选中日期时候会触发这一个效果 @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // TODO Auto-generated method stub String str = year + "年-" + monthOfYear + "月-" + dayOfMonth + "日"; Toast.makeText(MainActivity.this, str, 3).show(); } }, year, monthOfYear, dayOfMonth); datePickerDialog.show(); } }); button2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub TimePickerDialog timePickerDialog = new TimePickerDialog(MainActivity.this, new OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { // TODO Auto-generated method stub String str1 = hourOfDay + "时-" + minute + "分"; Toast.makeText(MainActivity.this, str1, 3).show(); } }, hourOfDay, minute, true); timePickerDialog.show(); } }); } @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; } private void initComponent() { button = (Button) findViewById(R.id.button1); button2 = (Button) findViewById(R.id.button2); } }