Android 如何从片段调用时间选择器?

Android 如何从片段调用时间选择器?,android,kotlin,Android,Kotlin,我正在尝试从“打开”首选项更改12小时-24小时模式。但是我找不到为什么val timepicker会出错 有人能帮我纠正一下吗?整个项目正在进行中 谢谢 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.lay

我正在尝试从“打开”首选项更改12小时-24小时模式。但是我找不到为什么val timepicker会出错

有人能帮我纠正一下吗?整个项目正在进行中

谢谢

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val timePicker = findViewById<TimePicker>(R.id.timePickerAtHeadsetPlugFragment)
        if(switchValue) {
            timePicker.setIs24HourView(true)
        } else {
            timePicker.setIs24HourView(false)
        }
    }

class MainActivity:AppCompatActivity(){
重写创建时的乐趣(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val timePicker=findviewbyd(R.id.timePickerAtHeadsetPlugFragment)
if(开关值){
timePicker.setIs24HourView(真)
}否则{
timePicker.setIs24HourView(false)
}
}
使用

您可以使用调用对话框

val myCalendar = Calendar.getInstance()

TimePickerDialog(context, { _: TimePicker?, hourOfDay: Int, minute: Int -> 
            // Do something with the time
}, myCalendar[Calendar.HOUR_OF_DAY], myCalendar[Calendar.MINUTE], true)
.show()

传递'true'作为最后一个参数将选择器设置为24小时格式,传递'false'将其设置为12小时格式。您可以从片段或活动调用此函数。

嗯,我不想使用TimePickerDialog。我知道使用它可以简化代码,但我仍然不想。
val myCalendar = Calendar.getInstance()

TimePickerDialog(context, { _: TimePicker?, hourOfDay: Int, minute: Int -> 
            // Do something with the time
}, myCalendar[Calendar.HOUR_OF_DAY], myCalendar[Calendar.MINUTE], true)
.show()