Récupérer et définir les données à partir de DialogFragment (DatePicker)
Mon DialogFragment classe est appelée lorsque j'appuie sur un bouton sur une activité. Je veux la date fixée par le biais de ce DialogFragment pour être affiché sur les boutons de texte.
FindViewById refuse d'être reconnu par la classe.
J'ai trouvé un question similaire mais je ne suis pas en mesure de le relier à mon cas.
Code:
- Bouton qui appelle le fragment de Dialogue:
public void datepicker(View v) { DialogFragment newFragment = new DatePickerFragment(); newFragment.show(getFragmentManager(), "datePicker"); }
- Code pour le fragment de dialogue:
public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener { @Override public Dialog onCreateDialog(Bundle savedInstanceSateate) { final Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int day = c.get(Calendar.DAY_OF_MONTH); return new DatePickerDialog(getActivity(), this, year, month, day); } public void onDateSet(DatePicker view, int year, int month, int day) { //Do something with the date chosen } } }
Pouvez-vous montrer le code, donc nous savons comment ses différentes?
ajoutée!
Je renonce à le modifier.
Son bien maintenant. Suis-je le seul qui va par le biais de l'enfer lors de la validation du code sur stackoverflow??
non, c'est juste l' @api de notation, qui bousille le format de code
ajoutée!
Je renonce à le modifier.
Son bien maintenant. Suis-je le seul qui va par le biais de l'enfer lors de la validation du code sur stackoverflow??
non, c'est juste l' @api de notation, qui bousille le format de code
OriginalL'auteur krtkush | 2012-12-24
Vous devez vous connecter pour publier un commentaire.
Dans la méthode de votre DialogFragment qui est en charge de la notification lorsque l'utilisateur définit la date, cela
findViewById
travail?J'ai utilisé
getActivity()
qui a un publicfindViewById()
méthode. Vous avez besoingetActivity()
depuis le bouton que vous modifiez est une partie de votre Activité est mise en page, pas votre Fragment.Aha! Je vous remercie beaucoup.
Ce n'est pas pour de-couping entre DialogFragment et de l'Activité. Qu'advient-il si le DialogFragment hébergé par une activité qui n'a pas de bouton avec l'id est myButton?
Si l'Activité n'a pas de bouton avec cette id, un
NullPointerException
sera générée lorsque vous essayez d'utiliseractivityButton
. Pour un Fragment attaché à de nombreuses Activités, il est facile de prendre un Listener type d'interface.OriginalL'auteur A--C
Créer une Classe pour le DatePicker de Fragment:
Appel de ce Fragment Lorsqu'il est cliqué Sur ImageButton:
Dans Mois il n'y a plus de 1 car DatePicker défaut mois de 0 à 11 Jan à Déc.
Je vous remercie..
OriginalL'auteur Pratik Butani AndroidDev
voici un bon modèle à suivre:
quelque chose comme,
si votre cas, le "résultat" est passé dans le
onOkay()
méthode serait de la Date de l'objet choisi par l'utilisateur dans la boîte de dialogue.OriginalL'auteur Jeffrey Blattman
Un
Fragment
n'est pas unView
. Si vous voulez trouver un fragment, l'utilisationfindFragmentById
de laFragmentManager
.OriginalL'auteur K-ballo