我想使用DateDialogFragment并将到达那里的日期放到另一个片段中
在获取日历示例后,如何放置设置日期?
class DateDialogFragment : DialogFragment(), DatePickerDialog.OnDateSetListener {
private val calendar = Calendar.getInstance()
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val year = calendar.get(Calendar.YEAR)
val month = calendar.get(Calendar.MONTH)
val dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH)
return DatePickerDialog(requireActivity(), this, year, month, dayOfMonth)
}
override fun onDateSet(view: DatePicker?, year: Int, month: Int, dayOfMonth: Int) {
calendar.set(Calendar.YEAR, year)
calendar.set(Calendar.MONTH, month)
calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth)
val selectedDate = calendar.time
val selectedDateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.JAPAN).format(calendar.time)
val bundle = Bundle()
bundle.putString("SELECTED_DATE", selectedDateFormat)
bundle.putParcelable("SELECTED_DATE_PARCELABLE", selectedDate)
setFragmentResult("REQUEST_KEY", bundle)
}
}
我找到了一个叫parcelable的东西,但是我不知道怎么用!
我尝试使用Long类型来处理日期,但是数据库不能处理数据比较,所以我尝试使用SQLite的Parcelable。
1条答案
按热度按时间zvms9eto1#
您可以将数据作为参数在片段之间传递:https://developer.android.com/guide/navigation/navigation-pass-data?authuser=1
或另一个选项:How to pass values between Fragments