Android:关注TimePicker元素

Android: Focus on TimePicker elements

如何将焦点放在时间选择器元素上?我正在开发电视应用程序,因此需要远程操作。所以我需要关注每个元素。 TimePicker 有 3 个元素 - 小时列、分钟列和 AM/PM 列。

那么我如何才能专注于这 3 列中的每一列?

谢谢

你可以获取每个NumberPicker的TimePicker,然后随意修改,请求焦点等等。

NumberPicker hourPicker = (NumberPicker) mTimePicker.findViewById(Resources.getSystem().getIdentifier("hour",
     "id", "android"));

NumberPicker minutePicker = (NumberPicker) mTimePicker.findViewById(Resources.getSystem().getIdentifier("minute",
     "id", "android"));

NumberPicker amPmPicker = (NumberPicker) mTimePicker.findViewById(Resources.getSystem().getIdentifier("amPm",
     "id", "android"));

// this is a number picker modified and there is one for each NumerPicker above
View numberPickerModified = (View) mTimePicker.findViewById(Resources.getSystem().getIdentifier("numberpicker_input",
     "id", "android"));

所以 class 已经改变了,以上对我不起作用。

一个原因是视图在时钟模式下不是数字选择器,第二个原因是他们更改了视图名称。

这是几个小时的 Kotlin 解决方案。

 val identifier = Resources.getSystem().getIdentifier(
            "hours",
            "id", "android"
        )
 val hourPicker = itemView.findViewById<TextView>(identifier)

视图是 TextView,标识符是 'hours' 而不是 'hour'