【问题标题】:DateTime for start Event Android Studio开始事件 Android Studio 的日期时间
【发布时间】:2016-12-01 16:00:00
【问题描述】:

我尝试获取用户安排会议的开始日期和时间。 当我单击我的 ed_start_date 时,一个 DatePicker 和一个 TimePicker 会一一显示。 我的问题是:我怎样才能做到这一点比这更简单,我怎样才能存储选择插入到 SQLite 数据库中的值... tks 建议

适合设置starDateTime和stopDateTime的谷歌日历输入

if (v == ed_start_date) {
        final Calendar c = Calendar.getInstance();
        startYear = c.get(Calendar.YEAR);
        startMonth = c.get(Calendar.MONTH);
        startDay = c.get(Calendar.DAY_OF_MONTH);
        startHour = c.get(Calendar.HOUR_OF_DAY);
        startMinute = c.get(Calendar.MINUTE);

         DatePickerDialog datePickerDialog = new DatePickerDialog(this,
                new DatePickerDialog.OnDateSetListener() {

                    @Override
                    public void onDateSet(DatePicker view, int year,
                                          int monthOfYear, int dayOfMonth) {
                    if(year>=startYear & monthOfYear>=startMonth &         dayOfMonth>=startDay)
                        ed_start_date.setText(dayOfMonth + "-" + (monthOfYear + 1) + "-" + year);
                        else
                        Toast.makeText(MeetingsAddEditActivity.this, "Selected date can not be less than current date!", Toast.LENGTH_SHORT).show();
                    }
                }, startYear, startMonth, startDay);
        datePickerDialog.show();

        TimePickerDialog timePickerDialog = new TimePickerDialog(this,
                new TimePickerDialog.OnTimeSetListener() {

                    @Override
                    public void onTimeSet(TimePicker view, int hourOfDay,
                                          int minute) {
                        if(hourOfDay>startHour)
                            ed_start_date.append(hourOfDay + ":" + minute);
                        else
                            Toast.makeText(MeetingsAddEditActivity.this, "Selected time can not be less than current time!", Toast.LENGTH_SHORT).show();
                    }
                }, startHour, startMinute, false);
        timePickerDialog.show();

      }


    if (v == ed_stop_date) {

        final Calendar c = Calendar.getInstance();
        stopYear = c.get(Calendar.YEAR);
        stopMonth = c.get(Calendar.MONTH);
        stopDay = c.get(Calendar.DAY_OF_MONTH);
        stopHour = c.get(Calendar.HOUR_OF_DAY);
        stopMinute = c.get(Calendar.MINUTE);

        DatePickerDialog datePickerDialog = new DatePickerDialog(this,
                new DatePickerDialog.OnDateSetListener() {

                    @Override
                    public void onDateSet(DatePicker view, int year,
                                          int monthOfYear, int dayOfMonth) {
                        if(year==startYear & monthOfYear==startMonth & dayOfMonth==startDay)
                            ed_stop_date.setText(dayOfMonth + "-" + (monthOfYear + 1) + "-" + year);
                        else
                            Toast.makeText(MeetingsAddEditActivity.this, "Selected date can not be different than start date!", Toast.LENGTH_SHORT).show();
                    }
                }, stopYear, stopMonth, stopDay);
        datePickerDialog.show();


        TimePickerDialog timePickerDialog = new TimePickerDialog(this,
                new TimePickerDialog.OnTimeSetListener() {

                    @Override
                    public void onTimeSet(TimePicker view, int hourOfDay,
                                          int minute) {
                        if(hourOfDay>=startHour)
                            ed_stop_date.setText(hourOfDay + ":" + minute);
                        else
                            Toast.makeText(MeetingsAddEditActivity.this, "Selected time can not be less than start time!", Toast.LENGTH_SHORT).show();
                    }
                }, stopHour, stopMinute, false);
        timePickerDialog.show();
    }

【问题讨论】:

    标签: android sqlite datetime


    【解决方案1】:

    我认为最好的方法是创建一个包含时间选择器和日期选择器的自定义对话框。这样,用户可以在关闭之前在同一个对话框中设置日期和时间。

    最简单的方法可能是使用诸如https://github.com/afollestad/material-dialogs 之类的库

    或创建自定义布局并对其进行扩展。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多