web-dev-qa-db-fra.com

Comment définir datePickerMode = "spinner" par programme?

J'ai besoin de créer DatePicker par programme. Et je ne peux pas utiliser la mise en page XML. Je sais définir spinner dans xml datePickerMode="spinner" et ensuite je peux utiliser datePicker.setSpinnersShown(true); et datePicker.setCalendarViewShown(false) j'essaie d'ajouter AttributeSet au constructeur mais je ne sais pas comment l'utiliser. Quelqu'un peut-il aider? Comment créer un DataPicker en mode spinner?

Je vous remercie 

10
Lukáš Šálek

J'ai déjà trouvé un post qui vous décrirait ce problème:

J'ai trouvé une explication dans le post suivant (qui décrit Un problème très similaire au mien):

Problème d'Andline Material Design Inline Datepicker

En fait, setCalendarViewShown (false) et setSpinnersShown (true) sont apparemment ne fonctionne plus dans les dernières versions.

Nous devons utiliser un attribut XML explicite comme celui-ci Android: datePickerMode = "spinner".

Le problème est que j'utilise un DialogFragment sans aucune disposition XML (juste un dialogue de sélection de date). Je ne peux donc pas définir d'attribut XML.

La solution consiste à créer un dialogue personnalisé dédié avec une présentation XML fichier en utilisant l'attribut demandé.

FROM: Impossible de faire que mon DatePickerDialog utilise un style spinner par programme

J'espère que ça aide

8
piotrek1543

Si vous voulez le définir par programme, vous pouvez utiliser le code ci-dessous mais je n’ai pas vérifié si ce code fonctionnait ou non. Faites-moi savoir si je peux vous aider d'une autre manière.

datepickerDialog_object.getDatePicker().setSpinnersShown(true);
datepickerDialog_object.getDatePicker().setCalendarViewShown(false);
0
Anshul Verma