android学习笔记(37)使用 DatePickerDialog、TimePickerDialog

2015-1-7 13:07:08     人阅读    

DatePickerDialog与TimePickerDialog的功能比较简单,用法也简单,只要两步即可:
        通过 new 关键字创建 DatePickerDialog、TimePickerDialog 实例,调用它们的 show() 方法即可将日期选择对话框、时间选择对话框显示出来。
        为DatePickerDialog、TimePickerDialog绑定监听器,这样可以保证用户通过 DatePickerDialog、TimePickerDialog设置事件时触发监听器,从而通过监听器来获取用户设 置的事件。
        下面程序的界面上定义了两个按钮,一个按钮用于打开日期选择对话框,一个用于打开 时间选择对话框。该程序的界面定义文件非常简单,故不再给出。该程序的Java代码如下。 程序清单:\DateDialog\src\org\crazyit\dialog\DateDialog.java

package org.crazyit.dialog;
import java.util.Calendar;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TimePicker;


public class DateDialog extends Activity
{ 
 @Override
 public void onCreate(Bundle savedInstanceState)
 {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  Button dateBn = (Button)findViewById(R.id.dateBn);
  Button timeBn = (Button)findViewById(R.id.timeBn);
  //为“设置日期”按钮绑定监听器。
  dateBn.setOnClickListener(new OnClickListener()
  {
   @Override
   public void onClick(View source)
   {
    Calendar c = Calendar.getInstance(); 
    // 直接创建一个DatePickerDialog对话框实例,并将它显示出来
    new DatePickerDialog(DateDialog.this,
     // 绑定监听器
     new DatePickerDialog.OnDateSetListener()
     {
      @Override
      public void onDateSet(DatePicker dp, int year,
       int month, int dayOfMonth)
      {
       EditText show = (EditText) findViewById(R.id.show);
       show.setText("您选择了:" + year + "年" + month + "月"
        + dayOfMonth + "日");
      }
     }
    //设置初始日期
    , c.get(Calendar.YEAR)
    , c.get(Calendar.MONTH)
    , c.get(Calendar.DAY_OF_MONTH)).show();
   }   
  });
  //为“设置时间”按钮绑定监听器。
  timeBn.setOnClickListener(new OnClickListener()
  {
   @Override
   public void onClick(View source)
   {
    Calendar c = Calendar.getInstance();
    // 创建一个TimePickerDialog实例,并把它显示出来。
    new TimePickerDialog(DateDialog.this,
     // 绑定监听器
     new TimePickerDialog.OnTimeSetListener()
     {
      @Override
      public void onTimeSet(TimePicker tp, int hourOfDay,
       int minute)
      {
       EditText show = (EditText) findViewById(R.id.show);
       show.setText("您选择了:" + hourOfDay + "时" + minute
        + "分");
      }
     }
    //设置初始时间
    , c.get(Calendar.HOUR_OF_DAY)
    , c.get(Calendar.MINUTE)
    //true表示采用24小时制
    , true).show();
   }
  }); 
 }
}


上面的程序中两段粗体字代码就是创建并显示DatePicker Dialog、TimePickerDialog的关键代码。运行上面的程序,如果 单击“设置日期”按钮,系统将会显示如图2.54所示的口期选 择对话框。
如果用户单击程序中的“设置时间”对话框,系统将会显示 日期选择对话框。需要指出的是,日期选择对话框、时间选择对 话框只是供用户来选择日期、时间,对Android的系统口期、时 间没有任何影响。

Android暂时还没有公开设置系统日期、时间的API,如果需要在程序中设置| Android系统曰期、时间,目前所知的方式都需要重新编译Android系统源代码,比较烦琐。


原文地址:http://www.itmmd.com/201501/452.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

在 android dialog中使用Autocompletetext   上一篇
下一篇   Android Studio报错ERROR: “ Cannot resolve symbol '@string/edit_message' ”
精彩回复
我要追加问题,请求站长解决!
姓名:       

《程序员app》专门为程序员量身定做!