首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

Andorid时间控件跟日期控件的Demo(代码)

2013-02-03 
Andorid时间控件和日期控件的Demo(代码)默认显示当前时间:time.xmlpublic class TimeActivity extends Act

Andorid时间控件和日期控件的Demo(代码)

默认显示当前时间:

Andorid时间控件跟日期控件的Demo(代码)  Andorid时间控件跟日期控件的Demo(代码)  Andorid时间控件跟日期控件的Demo(代码)

time.xml


public class TimeActivity extends Activity {private EditText showDate = null;private Button pickDate = null;private EditText showTime = null;private Button pickTime = null;private static final int SHOW_DATAPICK = 0;     private static final int DATE_DIALOG_ID = 1;      private static final int SHOW_TIMEPICK = 2;    private static final int TIME_DIALOG_ID = 3;        private int mYear;      private int mMonth;    private int mDay;     private int mHour;    private int mMinute;    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.time);                initializeViews();                final Calendar c = Calendar.getInstance();        mYear = c.get(Calendar.YEAR);          mMonth = c.get(Calendar.MONTH);          mDay = c.get(Calendar.DAY_OF_MONTH);                mHour = c.get(Calendar.HOUR_OF_DAY);        mMinute = c.get(Calendar.MINUTE);                setDateTime();         setTimeOfDay();    }        /**     * 初始化控件和UI视图     */    private void initializeViews(){        showDate = (EditText) findViewById(R.id.showdate);          pickDate = (Button) findViewById(R.id.pickdate);         showTime = (EditText)findViewById(R.id.showtime);        pickTime = (Button)findViewById(R.id.picktime);                pickDate.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {           Message msg = new Message();            if (pickDate.equals((Button) v)) {                msg.what = TimeActivity.SHOW_DATAPICK;             }             TimeActivity.this.dateandtimeHandler.sendMessage(msg); }});                pickTime.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {           Message msg = new Message();            if (pickTime.equals((Button) v)) {                msg.what = TimeActivity.SHOW_TIMEPICK;             }             TimeActivity.this.dateandtimeHandler.sendMessage(msg); }});    }    /**     * 设置日期     */private void setDateTime(){       final Calendar c = Calendar.getInstance();                mYear = c.get(Calendar.YEAR);         mMonth = c.get(Calendar.MONTH);         mDay = c.get(Calendar.DAY_OF_MONTH);          updateDateDisplay(); }/** * 更新日期显示 */private void updateDateDisplay(){       showDate.setText(new StringBuilder().append(mYear).append("-")       .append((mMonth + 1) < 10 ? "0" + (mMonth + 1) : (mMonth + 1)).append("-")               .append((mDay < 10) ? "0" + mDay : mDay)); }    /**      * 日期控件的事件      */      private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {           public void onDateSet(DatePicker view, int year, int monthOfYear,                int dayOfMonth) {             mYear = year;             mMonth = monthOfYear;             mDay = dayOfMonth;             updateDateDisplay();       }      }; /** * 设置时间 */private void setTimeOfDay(){   final Calendar c = Calendar.getInstance();        mHour = c.get(Calendar.HOUR_OF_DAY);       mMinute = c.get(Calendar.MINUTE);       updateTimeDisplay();}/** * 更新时间显示 */private void updateTimeDisplay(){       showTime.setText(new StringBuilder().append(mHour).append(":")               .append((mMinute < 10) ? "0" + mMinute : mMinute)); }        /**     * 时间控件事件     */    private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() {@Overridepublic void onTimeSet(TimePicker view, int hourOfDay, int minute) {mHour = hourOfDay;mMinute = minute;updateTimeDisplay();}};        @Override      protected Dialog onCreateDialog(int id) {         switch (id) {         case DATE_DIALOG_ID:             return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,                    mDay);       case TIME_DIALOG_ID:       return new TimePickerDialog(this, mTimeSetListener, mHour, mMinute, true);       }              return null;      }        @Override      protected void onPrepareDialog(int id, Dialog dialog) {         switch (id) {         case DATE_DIALOG_ID:             ((DatePickerDialog) dialog).updateDate(mYear, mMonth, mDay);             break;       case TIME_DIALOG_ID:       ((TimePickerDialog) dialog).updateTime(mHour, mMinute);       break;       }    }        /**      * 处理日期和时间控件的Handler      */      Handler dateandtimeHandler = new Handler() {         @Override         public void handleMessage(Message msg) {             switch (msg.what) {             case TimeActivity.SHOW_DATAPICK:                 showDialog(DATE_DIALOG_ID);                 break;            case TimeActivity.SHOW_TIMEPICK:           showDialog(TIME_DIALOG_ID);           break;           }         }        };     }



热点排行