0

daterangepicker in android helps us to select a range of dates and i want to show start date and end date of this range separately in different textviews.I don't know how to do it. private Button bt1; private TextView tv1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    
    bt1 = findViewById(R.id.bt1);
    tv1 = findViewById(R.id.tv1);

    MaterialDatePicker.Builder<Pair<Long, Long>> builder = MaterialDatePicker.Builder.dateRangePicker();
    final MaterialDatePicker materialDatePicker = builder.build();
    
    bt1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            materialDatePicker.show(getSupportFragmentManager(),"date picker");
        }
    });

    materialDatePicker.addOnPositiveButtonClickListener(new MaterialPickerOnPositiveButtonClickListener() {
        @Override
        public void onPositiveButtonClick(Object selection) {
           tv1.setText(materialDatePicker.getHeaderText());
        }
    });
}
priks
  • 1
  • 2
  • 1
    share your code, Thanks – Shahzain ali Jul 12 '20 at 09:55
  • please check now – priks Jul 12 '20 at 10:11
  • Change `onPositiveButtonClick` selection param. type from `Object` to `Pair ` and you can get range from it: `startDate = selection.first` `endDate = selection.second` – Akaki Kapanadze Jul 12 '20 at 11:23
  • @AkakiKapanadze and what i should do if i want to print these dates?because using System.out.println(startDate); System.out.println(endDate); gives me this output : 1595203200000 1596153600000 and i want date as output – priks Jul 12 '20 at 14:15
  • @priks Use [SimpleDateFormat](https://developer.android.com/reference/java/text/SimpleDateFormat) for timestamp to human-readable date conversion – Akaki Kapanadze Jul 12 '20 at 19:24
  • materialDatePicker.addOnPositiveButtonClickListener(new MaterialPickerOnPositiveButtonClickListener>() { @Override public void onPositiveButtonClick(Pair selection) { Long startDate = selection.first; Long endDate = selection.second; //set text here of tv1 and tv2 } }); – Shahzain ali Jul 13 '20 at 16:12

0 Answers0