Как подсчитать количество дней, выбранных в дизайне материала daterangepicker? - PullRequest
0 голосов
/ 10 июля 2020

Привет, ребята, у меня есть DatePickerRange с материальным дизайном и все работает отлично

  CalendarConstraints.Builder constraitBuilder = new CalendarConstraints.Builder();
        constraitBuilder.setStart(mesPresente);
        constraitBuilder.setEnd(limitDate);
       // selectedPair = new Pair<>(today,);  Selecionar da por default in DateRangePicker
        //Date Range Picker
        MaterialDatePicker.Builder<Pair<Long, Long>> builder = MaterialDatePicker.Builder.dateRangePicker();
        builder.setTitleText("Seleciona a data");
        //builder.setSelection(selectedPair);
        builder.setCalendarConstraints(constraitBuilder.build()); // Delemita calendario apenas no ano atual
        final MaterialDatePicker materialDatePicker = builder.build();

        txtCalendar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                materialDatePicker.show(getActivity().getSupportFragmentManager(),"DATE_PICKER");

            }
        });



        materialDatePicker.addOnPositiveButtonClickListener(new MaterialPickerOnPositiveButtonClickListener() {
            @Override
            public void onPositiveButtonClick(Object selection) {
                txtCalendar.setText(materialDatePicker.getHeaderText())
            }
        });

Теперь я бы очень хотел посчитать количество дней, которые были выбраны, то есть сколько дней были выбраны?

На данный момент я не знаю, как получить эту информацию ... спасибо за вашу помощь сейчас ...

Ответы [ 2 ]

0 голосов
/ 11 июля 2020

Спасибо, Габриэле Мариотти. Благодаря вашей помощи, которая была очень ценной, мне удалось достичь решения, которое

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

      //count days....
       long numDays = endDate - startDate;
       int numDay = (int) TimeUnit.MILLISECONDS.toDays(numDias);

  }
});
```
0 голосов
/ 10 июля 2020

Измените OnPositiveButtonClickListener:

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

      //count days....

  }
});
...