Android Dialog Alert Tutorial

En Dialog er lite vindu som ber brukeren om å en avgjørelse eller angi tilleggsinformasjon.

Noen ganger i søknaden din, hvis du ønsket å spørre brukeren om å ta en beslutning mellom ja eller ingen svar fra en bestemt handling tatt av brukeren, ved å forbli i samme aktivitet og uten å endre skjermen, kan du bruke Dialog Alert.

For å gjøre et varsel dialog, må du lage et objekt av AlertDialogBuilder som en indre klasse av AlertDialog. Syntaksen er gitt nedenfor
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder (denne);

Nå må du sette den positive (ja) eller negativ (ingen) knapp ved hjelp gjenstand for AlertDialogBuilder klassen. Syntaksen er
alertDialogBuilder.setPositiveButton (CharSequence tekst, DialogInterface.OnClickListener lytteren) alertDialogBuilder.setNegativeButton (CharSequence tekst, DialogInterface.OnClickListener lytteren)

Bortsett fra dette, kan du bruke andre funksjoner som tilbys av byggmester klassen til å tilpasse varsling dialog. Disse er listet opp nedenfor
Sr.NoMethod typen & description1 setIcon (teikne ikon)

Denne metoden satt på ikonet for varsling dialogboksen.
2 setCancelable (boolsk avbryte stand)

Denne metoden setter eiendommen at dialogen kan bli kansellert eller ikke anbefale 3 setMessage (CharSequence melding)

Denne metoden setter meldingen som skal vises i varselet dialogen
4 setMultiChoiceItems (CharSequence [] elementer, boolean [] checkedItems, DialogInterface.OnMultiChoiceClickListener lytter)

Denne metoden setter liste over elementer som skal vises i dialogboksen som innholdet. Det valgte alternativet vil bli varslet av lytteren
5 setOnCancelListener (DialogInterface.OnCancelListener onCancelListener)

Denne metoden Angir tilbakeringing som vil bli kalt hvis dialogen er kansellert.
6 setTitle (CharSequence tittel)

Denne metoden angi tittel å være vises i dialogboksen

Etter å skape og sette dialogen byggmester, du vil opprette et varsel dialog ved å ringe lage () metoden av byggmester klasse. Syntaksen er
AlertDialog alertDialog = alertDialogBuilder.create (); alertDialog.show ();

Dette vil skape en våken dialog og vil vise den på skjermen

Dialog fragment
<. p> Før inngå et eksempel bør vi trenger å vite dialog fragment.Dialog fragment er et fragment som kan vise fragment i dialogboksen
public class DialogFragment strekker DialogFragment {Override offentlig Dialog onCreateDialog (Bundle savedInstanceState) {//Bruk Builder klasse for praktisk dialog bygging AlertDialog.Builder byggmester = new AlertDialog.Builder (getActivity ()); builder.setPositiveButton (R.string.fire, ny DialogInterface.OnClickListener () {public void onClick (dialog DialogInterface, int id) {toast.makeText (dette, "skriver en tekst her", Toast.LENTH_SHORT) .vis (); }}) .setNegativeButton (R.string.cancel, ny DialogInterface.OnClickListener () {public void onClick (dialog DialogInterface, int id) {finish ();}); //Opprett AlertDialog objektet og returnere det tilbake builder.create (); }}}
dialog List

Det har brukt å vise liste over elementer i en dialog box.For anta, må brukeren velge en liste over elementer eller annet må klikke et element fra multippel liste over elementer .På denne situasjonen kan vi bruke dialog liste
offentlig Dialog onCreateDialog (Bundle savedInstanceState) {AlertDialog.Builder byggmester = new AlertDialog.Builder (getActivity ()).; builder.setTitle (velg en farge) .setItems (R.array.colors_array, ny DialogInterface.OnClickListener () {public void onClick (dialog DialogInterface, int som) {//The 'som' argument inneholder indeksen posisjon //av valgte elementet}}); returnere builder.create ();.}
Single-valg dialog liste

Det har brukt å legge enkelt valgliste til Dialog box.We kan merke eller fjerne merkingen som per bruker valg
offentlig Dialog onCreateDialog (Bundle savedInstanceState) {mSelectedItems = new Arraylist (); AlertDialog.Builder byggmester = new AlertDialog.Builder (getActivity ()); builder.setTitle ("Dette er listen valget dialogboksen"); .setMultiChoiceItems (R.array.toppings, null, ny DialogInterface.OnMultiChoiceClickListener () {Override public void onClick (DialogInterface dialog, int som boolsk isChecked) {if (isChecked) {//Hvis brukeren sjekket elementet, legge den til valgte elementer mSelectedItems.add (som);} else if (mSelectedItems.contains (som)) {//Else, hvis varen er allerede i rekken, fjerner du det mSelectedItems.remove (Integer.valueOf (som)); }}}) //Sett handlingsknapper .setPositiveButton (R.string.ok, ny DialogInterface.OnClickListener () {Override public void onClick (dialog DialogInterface, int id) {//Bruker klikket OK, så lagre mSelectedItems resultater et sted //eller returnere dem til den komponenten som åpnet dialogen ...}}) .setNegativeButton (R.string.cancel, ny DialogInterface.OnClickListener () {Override public void onClick (dialog DialogInterface, int id) {.. .}}); returnere builder.create ();.}
Eksempel

Følgende eksempel viser bruken av AlertDialog i android

For å eksperimentere med dette eksempelet, må du kjøre dette på en emulator eller en faktisk enhet
StepsDescription1You vil bruke Android studio for å lage en Android-applikasjon, og gi det et navn som My Application under en pakke pakke com.example.sairamkrishna.myapplication.; Mens du oppretter dette prosjektet, må du Target SDK og kompilere med på den nyeste versjonen av Android SDK til å bruke høyere nivåer av APIs.2Modify src /MainActivity.java fil for å legge til varsling dialog kode for å starte dialog.3Modify layout XML fil res /layout /activity_main.xml legge noen GUI komponent dersom required.4No må endre standard string konstanter. Android studio tar seg av standard strenger på verdier /string.xml9Run programmet og velge en som kjører Android-enhet, og installere programmet på den og verifisere resultatene.

Her er den modifiserte koden src /MainActivity.java

pakken com.example.sairamkrishna.myapplication, import android.app.AlertDialog, import android.content.DialogInterface, import android.content.Intent, import android.support.v7.app.ActionBarActivity, import android.os .bundle, import android.view.Menu, import android.view.MenuItem, import android.view.View, import android.widget.Toast; public class MainActivity strekker ActionBarActivity {Override beskyttet void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); } Public void åpen (Vis visning) {AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder (denne); alertDialogBuilder.setMessage ("Er du sikker, ville at du skulle gjøre vedtak"); alertDialogBuilder.setPositiveButton ("ja", ny DialogInterface.OnClickListener () {Override public void onClick (DialogInterface arg0, int arg1) {Toast.makeText (MainActivity.this, "Du klikket ja-knappen", Toast.LENGTH_LONG) .vis ( );}}); alertDialogBuilder.setNegativeButton ("Nei", ny DialogInterface.OnClickListener () {Override public void onClick (DialogInterface dialog, int som) {finish ();}}); AlertDialog alertDialog = alertDialogBuilder.create (); alertDialog.show (); }Override Public boolean onCreateOptionsMenu (Meny menyen) {//Blås menyen; dette legger til elementer i handlingsfeltet hvis det er til stede. . getMenuInflater () blåse (R.menu.menu_main, menyen); return true; }Override Public boolean onOptionsItemSelected (MENUITEM element) {//Håndtak handlingen bar varen klikk her. Handlingsfeltet vil //automatisk håndtere klikker på Hjem /Opp-knappen, så lenge //som du angir en forelder aktivitet i AndroidManifest.xml. int id = item.getItemId (); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) {return true; } Returnere super.onOptionsItemSelected (element); }}

Her er den modifiserte koden res /layout /activity_main.xml
< RelativeLayout xmlns: android = "http://schemas.android.com/apk/res/android "xmlns: verktøy =" http://schemas.android.com/tools "android: layout_width =" match_parent "android: layout_height =" match_parent "android: paddingLeft =" @ dimen /activity_horizontal_margin "android: paddingRight =" @ dimen /activity_horizontal_margin "android: paddingTop =" @ dimen /activity_vertical_margin "android: paddingBottom =" @ dimen /activity_vertical_margin "verktøy: kontekst =" MainActivity ">. < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Dialog Alert" android: id = "+ id /textView" android: Tekststørrelse = "35dp" android: layout_alignParentTop = "true" android: layout_centerHorizontal = "true" /> < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Tutorialspoint" android: id = "+ id /textView2" android: textcolor = "# ff3eff0f" android: Tekststørrelse = "35dp" android: layout_below = "+ id /textView" android: layout_centerHorizontal = "true" /> < Imageview android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /bildeVis" android: src = "@ teikne /logo" android: layout_below = "+ id /textView2" android : layout_alignRight = "+ id /textView2" android: layout_alignEnd = "+ id /textView2" android: layout_alignLeft = "+ id /textView" android: layout_alignStart = "+ id /textView" /> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Alert dialog" android: id = "+ id /knapp" android: layout_below = "+ id /bildeVis" android: layout_alignRight = "+ id /textView2" android: layout_alignEnd = "+ id /textView2" android: layout_marginTop = "42dp" android: onclick = "åpen" android: layout_alignLeft = "+ id /bildeVis" android: layout_alignStart = "@ + id /bildeVis "/> < /RelativeLayout >

Her er fra strings.xml
< resources > < string name = "APP_NAME" > My Application < /string > < string name = "hello_world" > Hei, verden <! /string > < string name = "action_settings" > Innstillinger < /string > < /ressurser >

Her er standardkoden for AndroidManifest.xml
<? xml version = "1.0" encoding = "utf-8" > < manifest xmlns:? android = "http://schemas.android.com/apk/res/android" pakken = "com.example.alertdialog" android: version = "1" android: versjon = "1.0" > < søknad android: allowBackup = "true" android: icon = "@ teikne /ic_launcher" android: label = "@ streng /APP_NAME" android: tema = "@ stil /AppTheme" > < aktivitet android: name = "com.example.sairamkrishna.myapplication.MainActivity" android: label = "@ streng /APP_NAME" > < intent-filter > < handling android: name = "android.intent.action.MAIN" /> < kategori android: name = "android.intent.category.LAUNCHER" /> < /intent-filter > < /aktivitets > < /søknad > < /manifest >

La oss prøve å kjøre programmet. Jeg antar at du har koblet den faktiske Android Mobile-enhet med datamaskinen. For å kjøre programmet fra Android studio, åpne en av prosjektets aktivitets filer, og klikk Kjør ikonet fra verktøylinjen. Før du starter programmet,] Android studio vil vise følgende vindu for å velge et alternativ hvor du vil kjøre Android-applikasjon.

Velg et alternativ og klikk deretter på den. For anta, hvis du har klikket på ja-knappen, så ville resultatet som følger

Hvis du klikker på ingen knapp det vil kalle finish (), og det vil lukke programmet. Anmeldelser