Android原生日期时间选择器

这是日期选择,里面的themeresid表示的是效果的背景色,设置为2就是上面的效果图,当点击确认后就会触发上面的onDateSet方法,在这里就可以做操作,同理,时间选择如下:,同样很简单,还有一些简单的操作可以自行百度。

新加评论 评论标题:

文章评论

    日期/事件选择器代码

        2018-09-30    
    修改 删除

    函数的调用方法:GetTimestamp.showDatePickerDialog(activity,2,editText, Calendar.getInstance()); 其中 activity是android.app.Activity,否则会报错:Found: 'android.content.Context', required: 'android.app.Activity'

    其中activity是通过Activity的onCreate()方法传递的this参数后,在下一层函数声明的final Activity activity,所传递的函数。即

    onCreate(){
        setPaytime(this);
    }
    
    public void setPaytime(final Activity activity){
        GetTimestamp.showDatePickerDialog(activity,2,editText, Calendar.getInstance());
    }

    转:原//https://blog.csdn.net/qq_33756493/article/details/78120743

    public static void showDatePickerDialog(Activity activity, int themeResId, final TextView tv, Calendar calendar) {
        // 直接创建一个DatePickerDialog对话框实例,并将它显示出来
        new DatePickerDialog(activity , themeResId,new DatePickerDialog.OnDateSetListener() {
                // 绑定监听器(How the parent is notified that the date is set.)
                @Override public void onDateSet(DatePicker view, int year,  int monthOfYear, int dayOfMonth) {
                    // 此处得到选择的时间,可以进行你想要的操作
                    tv.setText("您选择了:" + year + "年" + (monthOfYear+1)+ "月" + dayOfMonth + "日");
                }
            }
            // 设置初始日期
            , calendar.get(Calendar.YEAR)
            ,calendar.get(Calendar.MONTH) ,calendar.get(Calendar.DAY_OF_MONTH)).show();
    }
    
    public static void showTimePickerDialog(Activity activity,int themeResId, final TextView tv, Calendar calendar) {
        // Calendar c = Calendar.getInstance();
        // 创建一个TimePickerDialog实例,并把它显示出来
        // 解释一哈,Activity是context的子类
        new TimePickerDialog( activity,themeResId,  new TimePickerDialog.OnTimeSetListener() {
            // 绑定监听器
          
                @Override
                public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                    tv.setText("您选择了:" + hourOfDay + "时" + minute  + "分");
                }
            }
            // 设置初始时间
            , calendar.get(Calendar.HOUR_OF_DAY)
            , calendar.get(Calendar.MINUTE)
            // true表示采用24小时制
            ,true).show();
    }

    android 两次调用DatePickerDialog.onDateSet()的方法

        2018-09-30    
    修改 删除
    //解决方案--添加一个boolean标记: Boolean isFirst = false;让第二次直接跳过

    Android DatePickerDialog和TimePickerDialog显示样式

        2018-09-30    
    修改 删除

    转://https://www.cnblogs.com/huanyou/p/5087044.html


    1、通过构造方法设置显示样式。

    可以通过DatePickerDialog(Context context, int theme, DatePickerDialog.OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth)这个构造方法的第二个参数来设置显示样式。这个theme参数对应的值,可以使用AlertDialog中的theme值。AlertDialog.THEME_TRADITIONAL

    2、通过DatePicker设置显示样式

    首先获取DatePicker,然后使用DatePicker.setCalendarViewShow(boolean)和DatePicker.setSpinnersShow(boolean)来设置。CalendarView和Spinners的值分别为true和false


    对于TimePickerDialog而言,它的样式设置,只有构造函数一种方式,对应的theme参数和DatePickerDialog相同。它内部定义了一个TimePicker,但是没有提供获取的方式。在构造TimePickerDialog和DatePickerDialog的时候最好使用DialogFragment来进行构造。

评论列表
日期/事件选择器代码
android 两次调用DatePickerDialog.onDateSet()的方法
Android DatePickerDialog和TimePickerDialog显示样式