재료 구성 요소의 dateRangePicker에서 setSelection을 사용하는 방법은 무엇입니까?

루 알마 하바 :

dateRangePicker를 열 때 선택한 날짜 범위를 표시하고 싶습니다 .setSelected 메소드가 이것을위한 것으로 알고 작동하지 않거나 뭔가 잘못하고 있습니다. 도와주세요

여기 내가 이미 시도한 것

public void openDateRangePicker(View view) {
 MaterialDatePicker.Builder builder =
                MaterialDatePicker.Builder.dateRangePicker();

        CalendarConstraints.Builder constraintsBuilder = new CalendarConstraints.Builder();

        MaterialDatePicker<Pair<Long,Long>> picker = builder.build();
        builder.setCalendarConstraints(constraintsBuilder.build());

        picker.setStyle(DialogFragment.STYLE_NORMAL, R.style.Custom_MaterialCalendar_Fullscreen);
        if(!firstDateStr.isEmpty() || !endDateStr.isEmpty()){
            builder.setSelection(selectionDates);

        }
        picker.show(getSupportFragmentManager(), picker.toString());



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

            long firstDateLong = selection.first;
            Date firstDate=new Date(firstDateLong);
            long endDateLong = selection.second;
            Date endDate=new Date(endDateLong);

            SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());

            //format yyyy-MM-dd
            firstDateStr = sdf2.format(firstDate);
            endDateStr = sdf2.format(endDate);
            selectionDates = selection;


            selectedDatesStr = firstDateStr + " to " + endDateStr ;//+ " (" + (daysBetween + 1) + " days)";
            tvDates.setText(selectedDatesStr);
            tvDates.setTypeface(Typeface.DEFAULT_BOLD);
            picker.dismiss();

        }
    }); 

}

여기서 내가 한 것은 선택 객체를 저장하고 다음에 피커를 열 때 범위를 표시하는 데 사용하지만 처음으로 열 때와 같이 선택하지 않고 열립니다!

톰슨 스파르타 :

라인 순서가 중요 builder.build();하면 빌더 설정을 완료 한 후 전화해야합니다 .

  String firstDateStr="";
  String endDateStr="";

Pair<Long, Long> selectionDates=null;
public void openDateRangePicker() {

   MaterialDatePicker.Builder builder =
            MaterialDatePicker.Builder.dateRangePicker();

    CalendarConstraints.Builder constraintsBuilder = new CalendarConstraints.Builder();

    builder.setCalendarConstraints(constraintsBuilder.build());

   // picker.setStyle(DialogFragment.STYLE_NORMAL);
    if(selectionDates!=null){
        builder.setSelection(selectionDates);

    }
    MaterialDatePicker<Pair<Long,Long>> picker = builder.build();
    picker.show(getSupportFragmentManager(), picker.toString());



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

            long firstDateLong = selection.first;
            Date firstDate=new Date(firstDateLong);
            long endDateLong = selection.second;
            Date endDate=new Date(endDateLong);

            SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());

            //format yyyy-MM-dd
            firstDateStr = sdf2.format(firstDate);
            endDateStr = sdf2.format(endDate);
            selectionDates = selection;


            selectedDatesStr = firstDateStr + " to " + endDateStr ;//+ " (" + (daysBetween + 1) + " days)";
           tvDates.setText(selectedDatesStr);
          tvDates.setTypeface(Typeface.DEFAULT_BOLD);
            picker.dismiss();

        }
    });

}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

TOP 리스트

  1. 1

    셀레늄의 모델 대화 상자에서 텍스트를 추출하는 방법은 무엇입니까?

  2. 2

    화살표와 테두리가있는 CSS 전용 툴팁

  3. 3

    Windows에서 Apache Kafka 오류-주 클래스 QuorumPeerMain을 찾거나로드 할 수 없습니다.

  4. 4

    Symfony 4 Validator-유효하지 않은 경우 자동 로그 아웃

  5. 5

    Zookeeper Cluster를 시작합니다. 오류 : 주 클래스 org.apache.zookeeper.server.quorum.QuorumPeerMain을 찾거나로드 할 수 없습니다.

  6. 6

    메모리 누수를 방지하기 위해 JDBC 드라이버가 강제로 등록 해제되었습니다

  7. 7

    PyCharm에서 프로젝트를 제거하는 방법은 무엇입니까?

  8. 8

    VSOMEIP-두 장치 (TCP / UDP) 간의 통신이 작동하지 않음

  9. 9

    Maven Groovy 및 Java + Lombok

  10. 10

    OpenCV로 여러 카메라 스트림을 캡처하는 방법은 무엇입니까?

  11. 11

    Gradle 프로젝트 종속성에서 META-INF를 어떻게 제외합니까?

  12. 12

    DbCommand.ExecuteNonQueryAsync ()> 0을 사용할 때 데이터베이스에서 쿼리가 실행되지 않습니다.

  13. 13

    wildfly에 배포하면 "15 초 후 잠금을 획득 할 수 없음"예외가 발생합니다.

  14. 14

    테스트의 JUnit 4에서 실행하지만 JUnit을 5하지 - 컴파일 깨끗하지만 0 테스트 실행

  15. 15

    Python을 사용하여 Windows 네트워크의 공유 폴더에 어떻게 액세스 할 수 있습니까?

  16. 16

    r의 24 시간 시계를 인식하도록 날짜 시간 열을 어떻게 분할합니까?

  17. 17

    오픈 JDK와 AdoptOpenJDK의 차이

  18. 18

    NVMe SSD의 GFortran 비 포맷 I / O 처리량

  19. 19

    div 사이의 여유 공간을 제거하는 방법

  20. 20

    스프링 부트 액추에이터 상태 엔드 포인트 + 동적 resilience4j 회로 차단기

  21. 21

    How do I make my own website able to be installed?

뜨겁다태그

보관