调用系统的DatePickerDialog,TimePickerDialog

原创 2012年03月21日 19:20:16

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

图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开始的要特殊处理,时间也可以获取系统时间

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

一段datepickerdialog与自定义Timepickerdialog限定时间范围的逻辑

预约时间 需求:把可选范围定在 当前时间往后8小时 到 7天后的时间 精确到分 用到了 datepickerdialog 和 自定义的Timepickerdialog 没有直接自定义控件 把两者...

自定义Dialog;Notification;PopupWindow;DatePickerDialog;TimePickerDialog

自定义Dialog my_title.xml
  • TaooLee
  • TaooLee
  • 2015年08月28日 21:17
  • 775

Android之日期和时间对话框DatePickerDialog和TimePickerDialog

日期和时间对话框DatePickerDialog和TimePickerDialog
  • ly_rose
  • ly_rose
  • 2015年12月11日 09:34
  • 204

Android中的几个Picker(DatePicker、TimerPicker、NumberPicker、DatePickerDialog、TimePickerDialog)

一. DatePicker DatePicker常用的XML属性 XML属性 描述 android:calendarViewShown 设置该日期选择是否显示...

PopupWindow,DatePickerDialog,TimePickerDialog,ProgressDialog的使用

对话框风格的窗口实现 PopupWindow的使用mainxml代码 popupxml代码 Activity代码 使用DatePickerDialogTimePickerDialog使用步骤 代码区 ...

[android] 解决DatePickerDialog和TimePickerDialog控件取消按钮问题

本文是讲述android 4.0版本以上不能显示DatePickerDialog和TimePickerDialog控件取消键的问题,同时点击界面其他地方也能实现修改日期和时间的问题。主要采用自定义布局...

android之和时间相关的DatePicker/TimerPicker/Calendar/DatePickerDialog/TimePickerDialog

首先说一下calendar,calendar并非android自己的东西,而是java中的东西,java中一个非常强大的关于时间操作的类。这里我就不详细说了,这个东西方法和使用技巧是在是太多了。我们这...

android—DatePicker 和TimePicker显示日期以及使用TimePickerDialog,DatePickerDialog来专门实现时间选择对话框

datePicker 和timePicker 显示日期和时间的控件 1.二个控件初始化 2.int定义 年 月 日 时 分 3.Calendar  类时间操作 创建Calendar对象 要 Ca...

安卓原生自带的日期选择器DatePickerDialog、时间选择器TimePickerDialog使用方法

安卓原生自带的日期选择器DatePickerDialog、时间选择器TimePickerDialog使用方法 XML布局如下图: 代码实现如下: public...

在android中用TimePicker和DatePicker或者TimePickerDialog和DatePickerDialog来动态调整时间和日期

首先是用TimePicker和DatePicker来实现动态调整时间和日期,举例如下: import java.util.Calendar; import android.app.Activity...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:调用系统的DatePickerDialog,TimePickerDialog
举报原因:
原因补充:

(最多只允许输入30个字)