Bonjour. Je suis Wataku, un programmeur côté serveur qui étudie la programmation dans une certaine école. : détendu: Développons également Android cette fois.
public class SimpleDialogFragment extends DialogFragment {
** 2) Décrivez le processus de génération de corps de dialogue dans la méthode onCreateDialog (). ** **
public Dialog onCreateDialog( ... ) {
Processus de génération de dialogue(Voir ci-dessous)
}
** 3) Écrivez le code suivant lors de l'affichage d'une boîte de dialogue pour les activités, etc. **
--Nouvelle la classe ci-dessus.
SimpleDialogFragment dialog = new SimpleDialogFragment();
FragmentManager manager = getSupportedFragmentManager();
--Affiche une boîte de dialogue avec la méthode show ().
<Les deux arguments suivants.>
1er:Gestionnaire de fragments
N ° 2:Chaîne de balise qui identifie la boîte de dialogue(Chaîne de caractères arbitraire)
dialog . show ( manager , “ ... ” );
(Remarque) `` Les deux DialogFragment.FragmentManager importent le package v4. ''
○ import android.support.v4.app.FragmentManager
× import android.app.FragmentManager
Suivez la procédure ci-dessous pour générer le corps de la boîte de dialogue d'erreur décrit dans la méthode onCreateDialog () de la classe de fragment de boîte de dialogue que vous avez créée.
** 1) Créez un objet générateur de boîte de dialogue d'alerte. ** **
AlertDialog.Builder builder = new AlertDialog.Builder(le contexte);
** 2) Réglez le contenu de l'affichage. ** **
· Zone de contenu
builder.setMessage( ... );
·Titre
builder.setTitle( ... );
** 3) Réglez le bouton d'action. ** **
builder . setPositiveButton("Libellé du bouton",Objet écouteur lorsque vous appuyez sur le bouton(Voir ci-dessous));
Il existe également * setNegativeButton () * et * setNeutralButton () *.
** 4) Créez un objet de dialogue. ** **
AlertDialog dialog = builder.create( ) ;
(Remarque)
`` La classe AlertDialog est importée depuis le package v7
Le processus lorsque le bouton d'action de la boîte de dialogue d'alerte est tapé est décrit dans la classe d'écouteur. La procédure est la suivante. ** 1) Créez une classe imbriquée qui implémente l'interface DialogInterface.OnClickListener. ** **
** 2) Décrivez le processus dans la méthode onClick (). ** **
private class DialogButtonClickListener implements DialogInterface.OnClickListener {
@Override
public void onClick(Boîte de dialogue DialogInterface (corps de dialogue),int which (valeur constante du bouton tapé)) {
//Traitement des clics
}
}
(Remarque) `` S'il y a plusieurs boutons d'action, une classe d'écouteur peut être préparée pour chaque bouton, mais elle peut être branchée en utilisant le deuxième argument (int which). ''
** (1) Obtenez une activité **
Utilisez la méthode ** getActivity () ** pour obtenir l'activité dans laquelle le corps de la boîte de dialogue est affiché dans le fragment de la boîte de dialogue.
Activity parent = getActivity();
** (2) Données I **
Pour transmettre des données d'une activité à un fragment de boîte de dialogue, utilisez la méthode suivante. ** 1) Créez un objet Bundle. ** **
Bundle extras = new Bundle();
** 2) Décrivez le processus dans la méthode onClick (). ** **
extends.mettre le type de données("Nom",valeur);
** 3) Définissez l'objet Bundle sur 2) dans l'objet fragment de dialogue. ** **
dialog.setArgments(extends);
** 4) Dans le fragment de dialogue, récupérez l'objet Bundle ci-dessus avec la méthode getArgments () et récupérez les données. → La méthode de récupération est la même que pour Intent (vérifiez la valeur nulle à l'avance) **
FullDialogFragment.java
public class FullDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("Boîte de dialogue normale");
builder.setMessage("Est-ce que c'est bon?");
builder.setPositiveButton("ok", new DialogButtonClickListener());
builder.setNeutralButton("??", new DialogButtonClickListener());
builder.setNegativeButton("NG", new DialogButtonClickListener());
AlertDialog dialog = builder.create();
return dialog;
}
/**
*Une classe membre qui décrit ce qui se passe lorsqu'un bouton de dialogue est enfoncé.
*/
private class DialogButtonClickListener implements DialogInterface.OnClickListener {
@Override
public void onClick(DialogInterface dialog, int which) {
Activity parent = getActivity();
String msg = "";
switch (which) {
case DialogInterface.BUTTON_POSITIVE:
msg = "Boîte de dialogue normale:OK est sélectionné.";
break;
case DialogInterface.BUTTON_NEUTRAL:
msg = "Boîte de dialogue normale: ??A été choisi.";
break;
case DialogInterface.BUTTON_NEGATIVE:
msg = "Boîte de dialogue normale:NG a été sélectionné.";
break;
}
Toast.makeText(parent, msg, Toast.LENGTH_SHORT).show();
}
}
}
Classe d'activité (extrait)
FullDialogFragment dialog = new FullDialogFragment();
FragmentManager manager = getSupportFragmentManager();
dialog.show(manager,"FullDialogFragment");
TIPS
Pour la boîte de dialogue de sélection de la date, "new" ** DatePickerDialog ** et ** show () **. Les arguments sont les suivants.
-① Contexte -② Objet auditeur -③ Valeur initiale "année" -④ Valeur initiale "mois" → Java "mois" commence * 0 * en interne. -⑤ Valeur initiale "jour"
L'objet écouteur * implémente * l'interface ** DatePickerDialog.OnDateSetListener ** et décrit le processus dans la méthode ** onDateSet () **. Les arguments sont les suivants.
-① Parties de l'écran de spécification de la date -② Sélectionné "année" -③ "mois" sélectionné -④ "jour" sélectionné
public void showDatePickerDialog(View view){
Calendar cal = Calendar.getInstance();
int nowYear = cal.get(Calendar.YEAR);
int nowMonth = cal.get(Calendar.MONTH);
int nowDayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dialog = new DatePickerDialog(DialogSampleActivity.this, new DatePickerDialogDateSetListener(),nowYear,nowMonth,nowDayOfMonth);
dialog.show();
}
private class DatePickerDialogDateSetListener implements DatePickerDialog.OnDateSetListener {
@Override
public void onDateSet(DatePicker view,int year,int month,int dayOfMonth) {
String msg = "Boîte de dialogue de sélection de la date:" + year + "Année" + (month + 1) + "Mois" + dayOfMonth + "journée";
Toast.makeText(DialogSampleActivity.this, msg, Toast.LENGTH_SHORT).show();
}
}
Pour la boîte de dialogue de sélection de l'heure, "new" ** TimePickerDialog ** et ** show () **. Les arguments sont les suivants.
-① Contexte -② Objet auditeur -③ Valeur initiale "heure" (unité de 24 heures) -④ Valeur initiale "minute" -⑤ Afficher ou non 24 heures (vrai est la notation 24 heures)
L'objet écouteur * implémente * l'interface ** TimePickerDialog.OnTimeSetListener ** et décrit le processus dans la méthode ** onTimeSet () **. Les arguments sont les suivants.
-① Parties de l'écran de désignation de l'heure -② "heure" sélectionnée --③ "minutes" sélectionnées
public void showTimePickerDialog(View view){
TimePickerDialog dialog = new TimePickerDialog(DialogSampleActivity.this, new TimePickerDialogTimeSetListener(),0,0,true );
dialog.show();
}
private class TimePickerDialogTimeSetListener implements TimePickerDialog.OnTimeSetListener {
@Override
public void onTimeSet(TimePicker view,int hourOfDay,int minute) {
String msg = "Boîte de dialogue de sélection de l'heure:" + hourOfDay + "Temps" + minute + "Minutes";
Toast.makeText(DialogSampleActivity.this, msg, Toast.LENGTH_SHORT).show();
}
}
c'est tout. C'était comment afficher la boîte de dialogue sur Android. Si vous avez des suggestions telles que quelque chose qui ne va pas, veuillez nous contacter. Merci d'avoir lu jusqu'au bout.
Recommended Posts