标签: materialdatepicker

MaterialDatePicker 返回错误值

MaterialDatePicker在 android studio 中使用,以便用户能够选择出生日期,选择日期后,返回的值是带有long所选日期的时间戳(自 1970 年 1 月 1 日以来的毫秒数)。问题是得到的结果稍有错误,例如:如果用户选择日期10/05/1998(1998年10月1日),则返回的日期是在此之前的一天,即日历返回10/04 / 1998 年(1998 年 10 月 4 日)。

我的代码:

Calendar calendar = Calendar.getInstance();
MaterialDatePicker.Builder<Long> builder = 
MaterialDatePicker.Builder.datePicker();

MaterialDatePicker<Long> picker = builder.build();

picker.show(getChildFragmentManager(), picker.toString());

picker.addOnPositiveButtonClickListener(new MaterialPickerOnPositiveButtonClickListener<Long>() {
    @Override
    public void onPositiveButtonClick(Long selection) {

        calendar.setTimeInMillis(selection);
    
         SimpleDateFormat simpleDateFormat = new 
             SimpleDateFormat("dd/MM//yyyy",Locale.getDefault());
                
          txtBirthDate.setText(simpleDateFormat.format(calendar.getTime()));

    }
});
Run Code Online (Sandbox Code Playgroud)

现在 timeInMillis 的实例calendar具有选定的日期,仅在一天之前。我怎样才能解决这个问题?

android materialdatepicker

7
推荐指数
1
解决办法
795
查看次数

MaterialDatePicker 选择后返回不正确的日期

由于某些未知原因,MaterialDatePicker 在选择后返回不正确的日期。例如,用户位于墨西哥地区,时区为:America/Tijuana。当他在视觉表示中选择:2021-10-05时,在结果文本中我有-1天,2021-10-04。对于 RU 地区,一切正常。这是代码:

public void startDateSelectionPicker() {
    try {
        MaterialDatePicker<Long> picker = MaterialDatePicker.Builder.datePicker()
                .setSelection(MaterialDatePicker.todayInUtcMilliseconds())
                .setTheme(R.style.CustomDatePickerDialog)
                .build();

        picker.addOnPositiveButtonClickListener(selection -> {
            TimeZone t = TimeZone.getDefault();
            Calendar c1 = Calendar.getInstance();
            c1.setTimeInMillis(selection);
            c1.setTimeZone(TimeZone.getDefault());

//here I need to receive correct date, but receiving -1 from originally selected date.

            String date = ToolsManager.calendarToDate(this, c1, "yyyy-MM-dd");
        });
        picker.show(getSupportFragmentManager(), picker.getTag());
    } catch (IllegalArgumentException e) {
    }
}

public static String calendarToDate(Context context, Calendar calendar, String dateFormat) {
        if (calendar == null) {
            return null;
        }

        Locale locale …
Run Code Online (Sandbox Code Playgroud)

timezone android android-calendar java-time materialdatepicker

5
推荐指数
1
解决办法
2363
查看次数

Android Material DatePicker 中的日期错误

我正在尝试从 DatePicker 获取所选日期,但总是比所选日期少一天

例如,如果我选择 14/2/2022,我将获得 13/2/2022,如果我选择 8/10/2018,我将获得 7/10/2018

这是我的代码:

private fun DatePickerSelected() {
    val picker = MaterialDatePicker.Builder.datePicker()
        .setTitleText("Select date of birth")
        .setSelection(MaterialDatePicker.todayInUtcMilliseconds())
        .build()

    picker.addOnPositiveButtonClickListener {
        val date = Date(picker.selection!!)
        Log.d("Date",date.toString())
        val dateString = SimpleDateFormat("dd/MM/yyyy").format(date)
        binding.edtBirthday.editText?.setText(dateString)
    }

    picker.show(requireActivity().supportFragmentManager, "BirthdayPicker")
}
Run Code Online (Sandbox Code Playgroud)

到底是哪一个问题呢?谢谢!

android date datepicker material-design materialdatepicker

5
推荐指数
1
解决办法
1369
查看次数

日期范围选择器与手机的导航按钮重叠

我目前正在使用这个版本的素材库

com.google.android.material:material:1.7.0-alpha02

但是,当我使用武术日期选择器显示日期范围选择器时,该选择器与手机上的导航按钮重叠,请参见下图:

s22 Ultra 截图

android material-components-android materialdatepicker

4
推荐指数
1
解决办法
391
查看次数

如何更改 Android 中的材质日期和时间选择器背景颜色?

如何更改Android 中的材质日期和时间选择器背景颜色?我发现许多解决方案默认日期和时间选择器不是材料设计

android android-datepicker material-design material-components-android materialdatepicker

2
推荐指数
1
解决办法
3495
查看次数