muhaiminurabir

date range picker android kotlin

Nov 2nd, 2025
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.50 KB | None | 0 0
  1. fun dateWork() {
  2.     try {
  3.         // Create and show the picker
  4.         val builder = MaterialDatePicker.Builder.dateRangePicker()
  5.         val constraintsBuilder = CalendarConstraints.Builder()
  6.         constraintsBuilder.setValidator(
  7.             DateValidatorPointBackward.now() // Only past dates
  8.         )
  9.         builder.setTitleText("Select Date Range")
  10.         builder.setCalendarConstraints(constraintsBuilder.build())
  11.         builder.setSelection(
  12.             Pair(
  13.                 MaterialDatePicker.thisMonthInUtcMilliseconds(),
  14.                 MaterialDatePicker.todayInUtcMilliseconds()
  15.             )
  16.         )
  17.         val picker = builder.build()
  18.         picker.addOnPositiveButtonClickListener { selection ->
  19.             val startDate = selection.first
  20.             val endDate = selection.second
  21.             // Convert timestamps (Long) to readable dates
  22.             val sdf =
  23.                 java.text.SimpleDateFormat("dd/MM/yyyy", java.util.Locale.getDefault())
  24.             val start = sdf.format(java.util.Date(startDate))
  25.             val end = sdf.format(java.util.Date(endDate))
  26.  
  27.             // Example: update UI
  28.             binding.orderDate.text = "Selected: $start - $end"
  29.         }
  30.  
  31.  
  32.         binding.orderDate.setOnClickListener {
  33.             picker.show(supportFragmentManager, picker.toString())
  34.         }
  35.  
  36.     } catch (e: Exception) {
  37.         e.printStackTrace()
  38.     }
  39. }
  40.  
  41. import androidx.core.util.Pair
  42. import com.google.android.material.datepicker.MaterialDatePicker
Advertisement
Add Comment
Please, Sign In to add comment