Je souhaite afficher la fenêtre contextuelle de datepicker. J'ai trouvé quelques exemples mais je ne les reçois pas correctement. J'ai un edittext et je veux que lorsque je clique sur edittext, la boîte de dialogue de sélection de date devrait apparaître et après avoir réglé la date, la date devrait s'afficher dans edittext au format jj / mm / aaaa. Veuillez me fournir un exemple de code ou de bons liens.
android
android-datepicker
Surabhi Pandey
la source
la source
Réponses:
Essayez ceci dans le fichier XML:
Maintenant dans le fichier Java:
Ajoutez maintenant la méthode dans l'activité ci-dessus.
Ajoutez
android:focusable="false"
dans le fichier xml de EditText pour permettre une seule touche.la source
android:focusable="false"
etonclicklistner
android:longClickable="false"
aussi. Sinon, l'utilisateur peut faire apparaître l'option coller sur le champ (et donc entrer des dates invalides).Impossible de faire fonctionner l'un de ces éléments, alors j'ajouterai mon seul au cas où cela aiderait.
Aussi quelque chose qui n'est pas mentionné dans les autres. Assurez-vous de mettre ce qui suit sur EditText xml.
Sinon, comme dans mon cas, le clavier continuera d'apparaître. J'espère que cela aide quelqu'un
la source
la source
Il existe également un autre meilleur moyen réutilisable:
Créez une classe:
Appelez ensuite cette classe sous la fonction onCreate:
la source
class setDate implements View.OnFocusChangeListener, DatePickerDialog.OnDateSetListener {
?FICHIER JAVA
la source
Voici comment je le fais: Similaire à la réponse choisie, mais en utilisant une classe de dialogue statique donc c'est plus réutilisable, et en utilisant également onFocusChange au lieu de onClick.
Et la boîte de dialogue de sélection de date.
la source
La réponse sélectionnée n'a pas vraiment fonctionné pour moi car j'ai dû appuyer une fois sur la zone EditText, puis à nouveau dessus avant que OnClickListener ne se déclenche. J'ai pu résoudre ce problème en remplaçant OnClickListener par OnTouchListener, juste au cas où quelqu'un aurait rencontré un problème similaire, voici à quoi ressemble mon code:
la source
#1. Je veux afficher un sélecteur de date avec la date actuelle présélectionnée (j'utilise un couteau à beurre pour l'injection)
2. Si vous souhaitez présélectionner la date, remplacez la dernière partie par
alors vous pouvez l'obtenir en utilisant la variable myCalendar ou directement le texte sur votre vue.
la source
Une solution utilisant des fragments, MvvmCross et Xamarin.Android
la source
la source
Ma classe pour le spectacle
DatePicker
. Je peux utiliser pourEditText
,TextView
ouButton
En utilisant
la source
Utilisation de DataBinding:
(voir
focusable
,inputType
etonClick
)Vue intérieure Modèle:
la source
Usage:
la source
Utilisez cette technique simple pour le faire:
Étape 1: CRÉER UN DIALOGUE FRAGMENTAIRE
Étape 2: DANS L'ACTIVITÉ REQUISE, SUIVEZ CECI
L'activité doit implémenter: DatePickerDialog.OnDateSetListener
Définissez onClickListener sur un bouton:
Étape 3: remplacer OnDateSetListener
Par conséquent, nous pouvons utiliser n'importe quel format pour la date :)
la source
J'ai essayé toutes les façons qui ont été suggérées, mais elles ont toutes leurs propres problèmes.
La meilleure solution à mon avis serait d'utiliser une disposition de cadre comme ci-dessous:
puis en ajoutant le code DatePickerDialog qui a été magnifiquement écrit dans la réponse de @ Android.
la source
J'ai pensé qu'il valait mieux remplacer la classe EditText ...
Et utilisez cela dans le XML à la place ...
la source
la source
Utilisez ceci
la source
Port Kotlin, appelez la fonction setDatePicker
la source
la source
Essaye ça
la source
editText.setOnClickListener (nouveau View.OnClickListener () {
la source
Boîte de dialogue Sélecteur de date
la source
Essaye ça:
la source
vous pouvez également définir la date minimale et la date maximale par ces instructions.
Remarque: ajoutez ces lignes avant datepickerDialog.show (); déclaration, vous obtiendrez la date comme ceci = 12/2/2017.
J'espère que ma réponse vous aidera.
la source
Cela a fonctionné pour moi en janvier 2020
Partie XML:
Partie Java:
la source
Voici une fonction d'extension Kotlin:
Usage:
En activité:
En fragments:
la source
Ma solution pour Xamarin.Android avec MvvmCross basée sur Linh:
Pour une version vanille de Xamarin.Android, remplacez simplement le WeakSubscribe par un abonnement régulier à l'événement Click d'EditText, sans oublier de vous désinscrire dans la substitution de méthode Dispose.
la source