MaterialDatePicker获取所选日期 [英] MaterialDatePicker get selected dates

查看:942
本文介绍了MaterialDatePicker获取所选日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Android中这样调用MaterialDatePicker:

I'm calling a MaterialDatePicker like this in Android:

MaterialDatePicker.Builder<Pair<Long, Long>> builder = MaterialDatePicker.Builder.dateRangePicker();

CalendarConstraints.Builder constraintsBuilder = new CalendarConstraints.Builder();
builder.setCalendarConstraints(constraintsBuilder.build());

int dialogTheme = resolveOrThrow(getContext(), R.attr.materialCalendarTheme);
builder.setTheme(dialogTheme);

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

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

该库是:

dependencies {
    implementation 'com.google.android.material:material:1.2.0-alpha01'
}

如何获取该日历的选定日期?我找不到onDateSetOnDateSetListener

How can I get the selected date of this calendar? I can't find any listener like onDateSet or OnDateSetListener

推荐答案

仅在用户确认有效选择时使用被调用的 addOnPositiveButtonClickListener 侦听器:

Just use the addOnPositiveButtonClickListener listener called when the user confirms a valid selection:

对于单个日期选择器:

picker.addOnPositiveButtonClickListener(new MaterialPickerOnPositiveButtonClickListener<Long>() {
      @Override public void onPositiveButtonClick(Long selection) {
        // Do something...
      }
    });

对于范围日期选择器:

MaterialDatePicker<Pair<Long, Long>> pickerRange = builderRange.build();
pickerRange.show(....);

pickerRange.addOnPositiveButtonClickListener(new MaterialPickerOnPositiveButtonClickListener<Pair<Long, Long>>() {
  @Override public void onPositiveButtonClick(Pair<Long,Long> selection) {
       Long startDate = selection.first;
       Long endDate = selection.second;
       //Do something...
  }
});

这篇关于MaterialDatePicker获取所选日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆