Gaurav
Gaurav

Reputation: 1710

Android: Focus on TimePicker elements

How to get focus on time picker elements? I am developing TV app, so it needs to be operated by remote. So I need to apply focus on each element. TimePicker has 3 elements - hour column, minutes column and AM/PM column.

So how do i get focus on each of these 3 columns?

Thanks

Upvotes: 6

Views: 2366

Answers (2)

badvok
badvok

Reputation: 561

So the class has since changed and the above did not work for me.

One reason was the view is not a number picker when in clock mode and the second that they have changed the views name.

Here is the Kotlin solution for hours.

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

The view is a TextView and the identifier is 'hours' not 'hour'

Upvotes: 1

Lennon Spirlandelli
Lennon Spirlandelli

Reputation: 3193

You can get each NumberPicker of TimePicker and make whatever you want such as modify, request the focus and so on.

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"));

Upvotes: 7

Related Questions