调用系统的DatePickerDialog,TimePickerDialog

来源:互联网 发布:太阁立志传5修改器mac 编辑:程序博客网 时间:2024/05/21 06:35

主要实现调用设置的一些使用

图1

 DatePickerDialog,TimePickerDialog无需xml布局

 

图2

图3

图4

主要是开始时调用默认为图1,3所示的时间,设置后,下次打开要是你现在设置的时间

 

import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TimePicker;

public class DateTimepickerActivity extends Activity {
    /** Called when the activity is first created. */
 
   private final int DATE_PICKER_ID=1;  //用于case
   private final int  TIME_PICKER_ID=2; //用于case

    private int year ;    //这些常量是便于将设置的信息存入本地,便于下次打开是你目前设置的时间
   private int month ;
   private int day ;
   private int hour ;
   private int minute ;
 
 
 //现在是2012/3/21/11:59
 
 //月是从0开始的
 
 private   DatePickerDialog.OnDateSetListener datepickerdialog;
 private   TimePickerDialog.OnTimeSetListener timepickerdialog;
 //两个button便于弹出相应的dialog
 private Button btndate;
 private Button btntime;
 
            

 
 
 
 
 
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
   btndate=(Button)this.findViewById(R.id.btndatepicker);
   btntime=(Button)this.findViewById(R.id.btntimepicker);
   
   btndate.setOnClickListener(new OnClickListener(){

 @Override
 public void onClick(View v) {
 
   showDialog(DATE_PICKER_ID);//展示日期对话框
 }});
  
  
   btntime.setOnClickListener(new OnClickListener(){

 @Override
 public void onClick(View v) {
  
   showDialog(TIME_PICKER_ID);// 展示时间对话框
 }});
  
  
   timepickerdialog=new TimePickerDialog.OnTimeSetListener() {
 
 @Override
 public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
//  DateTimepickerActivity.this.hour=hourOfDay;
//  DateTimepickerActivity.this.minute=minute;
  Editor editor=DateTimepickerActivity.this.getSharedPreferences("Timepicker", DateTimepickerActivity.this.MODE_PRIVATE).edit();
  //将设置的时分存入本地,便于新建的时候使用
  editor.putInt("hour", hourOfDay);
  editor.putInt("minute", minute);
 
  editor.apply();
  
 }
};
 
     datepickerdialog=new DatePickerDialog.OnDateSetListener() {
  
  @Override
  public void onDateSet(DatePicker view, int year, int monthOfYear,
    int dayOfMonth) {
   
   
   Editor editor=DateTimepickerActivity.this.getSharedPreferences("Datepicker", DateTimepickerActivity.this.MODE_PRIVATE).edit();
   

//将设置的年月日存入本地,便于新建时使用

 


   editor.putInt("year", year);                     
   editor.putInt("month", monthOfYear);
   editor.putInt("day",dayOfMonth );
   editor.apply();
   
//   DateTimepickerActivity.this.year=year;
//   DateTimepickerActivity.this.month=monthOfYear;
//   DateTimepickerActivity.this.day=dayOfMonth;
//   
     
   
   
   
   
   
   
   
  }
 };
   
     }
 
    
 @Override
 protected Dialog onCreateDialog(int id) {
  // TODO Auto-generated method stub
  
  switch(id)
  { 
  
  case DATE_PICKER_ID:
   //获取本地文件的年月日,新建Dialog
   year=
    this.getSharedPreferences( "Datepicker",MODE_PRIVATE).getInt("year", 2011);
   month=
    this.getSharedPreferences( "Datepicker",MODE_PRIVATE).getInt("month", 11);
   day=
    this.getSharedPreferences( "Datepicker",MODE_PRIVATE).getInt("day", 11);
   
   return new DatePickerDialog(this,datepickerdialog,year,month,day);
   
  case TIME_PICKER_ID:
   //获取本地文件的时分,新建dialog
    hour=
     this.getSharedPreferences( "Timepicker",MODE_PRIVATE).getInt("hour", 12);
    minute=
     this.getSharedPreferences( "Timepicker",MODE_PRIVATE).getInt("minute", 16);
   
   
   
   
   
   return new TimePickerDialog(this,timepickerdialog,hour,minute,true);
   
   
  }
  
  
  
  
  
  
  return super.onCreateDialog(id);
 }
   
}

注:月份是从0开始的要特殊处理,时间也可以获取系统时间

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击