Hallo. Ich bin Wataku, ein serverseitiger Programmierer, der an einer bestimmten Schule Programmieren studiert. : entspannt: Lassen Sie uns auch dieses Mal Android entwickeln.
public class SimpleDialogFragment extends DialogFragment {
** 2) Beschreiben Sie den Generierungsprozess des Dialogkörpers in der Methode onCreateDialog (). ** ** **
public Dialog onCreateDialog( ... ) {
Dialoggenerierungsprozess(Siehe unten)
}
** 3) Schreiben Sie den folgenden Code, wenn Sie einen Dialog für Aktivitäten usw. anzeigen. **
--Neue die oben genannte Klasse.
SimpleDialogFragment dialog = new SimpleDialogFragment();
FragmentManager manager = getSupportedFragmentManager();
<Die folgenden zwei Argumente.>
1:Fragmentmanager
Nr. 2:Tag-Zeichenfolge, die den Dialog identifiziert(Beliebige Zeichenfolge)
dialog . show ( manager , “ ... ” );
(Hinweis)
Beide DialogFragment.FragmentManager importieren das v4-Paket.
○ import android.support.v4.app.FragmentManager
× import android.app.FragmentManager
Führen Sie die folgenden Schritte aus, um den Fehlerdialogkörper zu generieren, der in der onCreateDialog () -Methode der von Ihnen erstellten Dialogfragmentklasse beschrieben ist.
** 1) Erstellen Sie ein Builder-Objekt für den Warnungsdialog. ** ** **
AlertDialog.Builder builder = new AlertDialog.Builder(Kontext);
** 2) Stellen Sie den Anzeigeinhalt ein. ** ** **
· Inhaltsbereich
builder.setMessage( ... );
·Titel
builder.setTitle( ... );
** 3) Stellen Sie die Aktionstaste ein. ** ** **
builder . setPositiveButton("Button Label",Listener-Objekt, wenn die Taste gedrückt wird(Siehe unten));
Es gibt auch * setNegativeButton () * und * setNeutralButton () *.
** 4) Erstellen Sie ein Dialogobjekt. ** ** **
AlertDialog dialog = builder.create( ) ;
(Hinweis)
Die AlertDialog-Klasse importiert aus dem v7-Paket
Der Vorgang beim Tippen auf die Aktionsschaltfläche des Warnungsdialogs wird in der Listener-Klasse beschrieben. Das Verfahren ist wie folgt. ** 1) Erstellen Sie eine verschachtelte Klasse, die die Schnittstelle DialogInterface.OnClickListener implementiert. ** ** **
** 2) Beschreiben Sie den Prozess in der onClick () -Methode. ** ** **
private class DialogButtonClickListener implements DialogInterface.OnClickListener {
@Override
public void onClick(DialogInterface-Dialog (Dialogkörper),int which (konstanter Wert der getippten Taste)) {
//Klicken Sie auf Verarbeitung
}
}
(Hinweis)
Wenn mehrere Aktionsschaltflächen vorhanden sind, kann für jede Schaltfläche eine Listener-Klasse vorbereitet werden, die jedoch mit dem zweiten Argument (int which) verzweigt werden kann.
** (1) Aktivität erhalten **
Verwenden Sie die Methode ** getActivity () **, um die Aktivität abzurufen, in der der Dialogkörper im Dialogfragment angezeigt wird.
Activity parent = getActivity();
** (2) Daten I **
Verwenden Sie die folgende Methode, um Daten von einer Aktivität an ein Dialogfragment zu übergeben. ** 1) Erstellen Sie ein Bundle-Objekt. ** ** **
Bundle extras = new Bundle();
** 2) Beschreiben Sie den Prozess in der onClick () -Methode. ** ** **
extends.Datentyp setzen("Name",Wert);
** 3) Setzen Sie das Bundle-Objekt von 2) im Dialogfragmentobjekt. ** ** **
dialog.setArgments(extends);
** 4) Rufen Sie im Dialogfragment das obige Bundle-Objekt mit der Methode getArlements () ab und rufen Sie die Daten ab. → Die Methode zum Abrufen ist dieselbe wie für Intent (vorab auf Null prüfen) **
FullDialogFragment.java
public class FullDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("Normaler Dialog");
builder.setMessage("Ist es o.k?");
builder.setPositiveButton("ok", new DialogButtonClickListener());
builder.setNeutralButton("??", new DialogButtonClickListener());
builder.setNegativeButton("NG", new DialogButtonClickListener());
AlertDialog dialog = builder.create();
return dialog;
}
/**
*Eine Mitgliedsklasse, die beschreibt, was passiert, wenn eine Dialogschaltfläche gedrückt wird.
*/
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 = "Normaler Dialog:OK ist ausgewählt.";
break;
case DialogInterface.BUTTON_NEUTRAL:
msg = "Normaler Dialog: ??Wurde ausgewählt.";
break;
case DialogInterface.BUTTON_NEGATIVE:
msg = "Normaler Dialog:NG wurde ausgewählt.";
break;
}
Toast.makeText(parent, msg, Toast.LENGTH_SHORT).show();
}
}
}
Aktivitätsklasse (Auszug)
FullDialogFragment dialog = new FullDialogFragment();
FragmentManager manager = getSupportFragmentManager();
dialog.show(manager,"FullDialogFragment");
TIPS
Für den Datumsauswahldialog "neu" ** DatePickerDialog ** und ** show () **. Die Argumente sind wie folgt.
-① Kontext -② Listener-Objekt -③ Anfangswert "Jahr" -④ Anfangswert "Monat" → Java "Monat" startet intern * 0 *. -⑤ Anfangswert "Tag"
Das Listener-Objekt * implementiert * die Schnittstelle ** DatePickerDialog.OnDateSetListener ** und beschreibt den Prozess in der Methode ** onDateSet () **. Die Argumente sind wie folgt.
-① Teile des Datumsangabenbildschirms -② Ausgewähltes "Jahr" -③ Ausgewählter "Monat" -④ Ausgewählter "Tag"
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 = "Datumsauswahldialog:" + year + "Jahr" + (month + 1) + "Mond" + dayOfMonth + "Tag";
Toast.makeText(DialogSampleActivity.this, msg, Toast.LENGTH_SHORT).show();
}
}
Für den Zeitauswahldialog "neu" ** TimePickerDialog ** und ** show () **. Die Argumente sind wie folgt.
-① Kontext -② Listener-Objekt -③ Anfangswert "Stunde" (24-Stunden-Einheit) -④ Anfangswert "Minute" -⑤ Gibt an, ob 24 Stunden angezeigt werden sollen (true ist die 24-Stunden-Notation).
Das Listener-Objekt * implementiert * die Schnittstelle ** TimePickerDialog.OnTimeSetListener ** und beschreibt den Prozess in der Methode ** onTimeSet () **. Die Argumente sind wie folgt.
-① Zeitbezeichnung Bildschirmteile -② Ausgewählte "Zeit" -③ Ausgewählte "Minuten"
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 = "Zeitauswahldialog:" + hourOfDay + "Zeit" + minute + "Protokoll";
Toast.makeText(DialogSampleActivity.this, msg, Toast.LENGTH_SHORT).show();
}
}
das ist alles. So wurde der Dialog auf Android angezeigt. Wenn Sie Vorschläge haben, wie etwas nicht stimmt, kontaktieren Sie uns bitte. Vielen Dank für das Lesen bis zum Ende.
Recommended Posts