android - MaterialDatePicker获取所选日期

标签 android android-datepicker material-components material-components-android

我在Android中这样调用MaterialDatePicker:

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的任何侦听器

最佳答案

当用户确认有效选择时,只需使用 addOnPositiveButtonClickListener 侦听器即可调用:
对于单日期选择器:

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...
  }
});

关于android - MaterialDatePicker获取所选日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59657464/

相关文章:

android - 如何避免使用painterResource()为图标着色。它将我的矢量绘制为黑色

android - 如果 Activity 正在运行,则获取额外的 Intent

android - eclipse Android Xml文件设计 View

android - 不显示 CalendarView Jetpack Compose 按钮

android - 如何在自定义文本输入布局中修复背景红色

java.net.ConnectException : failed to connect to localhost/127. 0.0.1(端口 80):连接失败:ECONNREFUSED(连接被拒绝)

android - 如何禁用 Android 日期选择器对话框中的某些日期?

cordova - datePicker 插件在 Phonegap 2.0 中不起作用

ios - MDCSnackbarManager buttonFont 不工作

css - 如何只覆盖一个组件的@material 主题颜色?