2010-04-05 9 views
1

J'utilise hierarchyviewer pour regarder à travers un widget que j'utilise. (TimePicker).Android - accéder à un élément du widget

Maintenant, je peux voir que TimePicker contient id/décrément, id/increment et id/timepicker_input.

Comment obtenir une référence à id/timepicker_input par exemple?

Essayé my_picker.findViewWithTag ("décrémentation"); mais cela renvoie null.

Merci, T

+0

Qu'avez-vous essayé d'autre? Avez-vous essayé my_picker.findViewById? – Pentium10

Répondre

0

Je ne vois pas ces ID sur la mise en page TimePicker

http://www.google.com/codesearch/p?hl=en#uX1GffpyOZk/core/res/res/layout/time_picker.xml

je les vois sur NumberPicker qui est utilisé par TimePicker

http://www.google.com/codesearch/p?hl=en#uX1GffpyOZk/core/res/res/layout/number_picker.xml

Vous devez trouver la vue NumberPicker appropriée, puis localiser la vue NumberPickerButton.

Cependant, vous avez deux problèmes ici. 1. Vous ne pouvez pas obtenir les ID parce qu'ils ne sont pas exposés (vous seriez en regardant android.R.id.decrement etc.), et 2. Ce sera très fragile parce que la mise en œuvre interne de ces contrôles sera changement. Si votre projet dispose d'une licence compatible avec Apache License, Version 2.0, vous pouvez copier toutes les dispositions et classes TimePicker et NumberPicker dans votre propre projet, et les personnaliser ici. De cette façon, vous aurez un contrôle total et il est beaucoup moins probable de rompre avec les systèmes d'exploitation futurs.