android - 在 Kotlin Android dev 的其他类中使用 findViewById
问题描述
我有代码要求启动 aDatePickerFragment
以及TimePickerFragment
在活动的主类中按下按钮时。
fun showDatePickerDialog(view: View) {
val newFragment = DatePickerFragment()
newFragment.show(supportFragmentManager, "datePicker")
}
fun showTimePickerDialog(view: View) {
TimePickerFragment().show(supportFragmentManager, "timePicker")
}
接下来,我使用文档中的这个指南来启动这个过程——这涉及到类class DatePickerFragment : DialogFragment(), DatePickerDialog.OnDateSetListener
和class TimePickerFragment : DialogFragment(), TimePickerDialog.OnTimeSetListener
. 这就是我的问题出现的地方。这就是我想要做的:
class DatePickerFragment : DialogFragment(), DatePickerDialog.OnDateSetListener {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
// Use the current date as the default date in the picker
val c = Calendar.getInstance()
val year = c.get(Calendar.YEAR)
val month = c.get(Calendar.MONTH)
val day = c.get(Calendar.DAY_OF_MONTH)
// Create a new instance of DatePickerDialog and return it
return DatePickerDialog(activity, this, year, month, day)
}
override fun onDateSet(view: DatePicker, year: Int, month: Int, day: Int) {
// Do something with the date chosen by the user
var dateText = findViewbyId<textview>(R.id.text_newRem_date)
dateText.text("$day/$month/$year")
}
}
简单地说,我想编辑text_newRem_date
TextView 中的文本以反映为用户选择的日期,这同样适用于时间,但过程完全相同。我不熟悉课程的工作方式,那么有没有更好的方法来做到这一点?实际上,我希望在每个类之间传递数据。
我是 Kotlin 开发的新手,如果这是非常基本的东西,请原谅我!
解决方案
推荐阅读
- python - 在 python 上评估定义的导数
- flutter - 从数据库/存储中删除/删除表后,不调用 Sqlite onCreate
- javascript - React Image-crop 显示错误,因为它没有以正确的形式上传图像并且从后端收到错误
- python - 如何解决python中的弹出索引超出范围错误?
- html - Flex 增长直到溢出滚动,侧边栏中的页脚组件,父高度为 100%
- php - 如何在数组数组中找到关联的数组键/值?
- flutter - 如何在颤动中从最高到最低显示列表
- kubernetes - composer 中的 Python 冲突使整个 kubernetes 集群崩溃,我该如何解决?
- nginx - 当 proxy_pass 包含下划线时 Nginx 面临问题
- windows - 如何在 Windows 中使用参数为 git commit 设置命令别名?