..
Είναι προφανές ότι ένα AlertDialog δομημένο σαν το προηγούμενο κεφάλαιο δεν είναι πολύ χρήσιμο, επειδή δεν έχει κανένα κουμπί και ουσιαστικά μπλοκάρει την αίτηση, επειδή δεν υπάρχει τρόπος να το αφαιρέσετε από την οθόνη.
Πριν από την προσθήκη των κουμπιών all'AlertDialog, όμως, πρέπει να προσθέσετε ένα αντικείμενο TextView στην οποία θα γράψουμε ένα διαφορετικό μήνυμα ανάλογα με το κουμπί κάνει κλικ ο χρήστης.
Η προσθήκη του TextView αφήνεται ως άσκηση στον αναγνώστη.
Για την προσθήκη των κουμπιών και η ένωση στην ALertDialog ακροατές αντικαταστήσει απλώς τον κώδικα που γράφεται στο προηγούμενο κεφάλαιο με τα εξής:
AlertDialog.Builder miaAlert AlertDialog.Builder = νέα (αυτή)?
miaAlert.setMessage ("ελέγχει τη λειτουργία των κουμπιών προστέθηκε!")?
miaAlert.setTitle ("AlertDialog του MrWebMaster")?
miaAlert.setCancelable (ψευδής)?
miaAlert.setPositiveButton ("Ναι", DialogInterface.OnClickListener νέα () {
δημόσια άκυρη onClick (DialogInterface διαλόγου, int id) {
tv.setText ("Έκανα κλικ στο κουμπί ΝΑΙ")?
}
})?
miaAlert.setNegativeButton ("Όχι", νέα DialogInterface.OnClickListener () {
δημόσια άκυρη onClick (DialogInterface διαλόγου, int id) {
tv.setText ("Έκανα κλικ στο κουμπί ΟΧΙ")?
}
})?
AlertDialog miaAlert.create συναγερμού = ()?
Alert.show ()?
Όσον αφορά τις τρεις πρώτες γραμμές κώδικα δεν χρειάζεται να εξηγήσω τίποτα inquanto είναι πανομοιότυπα με αυτά που απεικονίζονται στο προηγούμενο κεφάλαιο. Πηγαίνοντας προς τα εμπρός με την ανάλυση του κώδικα θα βρούμε τη μέθοδο επίκληση setCanceble (ψευδής), η οποία έχει ως αποτέλεσμα την απενεργοποίηση των πίσω κουμπί του τηλεφώνου και στη συνέχεια θα χρειαστεί να κάνετε κλικ σε ένα από τα δύο κουμπιά για να κλείσετε το AlertDialog.
Αφού είπε ότι περνάμε στη δημιουργία του πραγματικού κουμπιά. Το πρώτο κουμπί δημιουργείται με την setPositiveButton μέθοδο η οποία παίρνει ως είσοδο μια συμβολοσειρά που θα εμφανίζεται στην οθόνη, όπως το περιεχόμενο του κουμπιού και έναν ακροατή. Όπως μπορούμε να δούμε τον ακροατή έχει χαρακτηριστεί ως ένα νέο παράδειγμα της DialogInterface.OnClickListener και όχι ως ένα νέο παράδειγμα της View.OnClickListener. Το γεγονός αυτό μπορεί να εφαρμοστεί μόνο σε στοιχεία eriditano την τάξη Προβολή, και αφού δεν το AlertDialog κληρονομήσει αυτή την κατηγορία, αλλά είναι μέρος της android.app πακέτο, πρέπει να χρησιμοποιήσετε έναν ακροατή σαν DialogInterface.
Στην πράξη, αυτή η διαφορά δεν είναι sostanzianziale, στην πραγματικότητα, σε αυτήν την περίπτωση, θα πρέπει να υπερισχύσει της μεθόδου OnClick, και εισάγετε τον κωδικό για τη συμπεριφορά που θέλουμε να κάνω δύο κουμπιά. Όπως μπορούμε να δούμε τη μέθοδο OnClick παίρνει ως είσοδο δύο παραμέτρους: το πρώτο είναι ένα αντικείμενο του τύπου AlertDialog (διαλόγου που σας λέει τι προκάλεσε την ενεργοποίηση του ακροατή) και, στη συνέχεια, ένα αναγνωριστικό για το πατημένο κουμπί. Απλά πηγαίνετε στο εσωτερικό της μεθόδου το κλικ για να αλλάξετε το κείμενο στην τηλεόραση TextView.
Η δομή της μεθόδου OnClick προτείνει μια βελτιωμένη έκδοση των ακροατών μας. Στην πραγματικότητα AlertDialog γνωρίζει τι προκάλεσε τον ακροατή και που κουμπί που έγινε κλικ στην ειδοποίηση, μπορείτε να δημιουργήσετε ένα μόνο ακροατή να χειριστεί ένα πιο AlertDialog και τα σχετικά κουμπιά. Αυτό επιτυγχάνεται απλά με την εκτέλεση μιας πρώτης διακόπτη στο Dialog χαρακτηριστικό (AlertDialog ας προσδιορίσει τι προκάλεσε τον ακροατή) και σε κάθε περίπτωση AlertDialog θέσει σε άλλο διακόπτη για να καταλάβουμε ποιες κουμπί στο AlertDialog λαμβάνονται υπόψη, είναι κλικ.
Είναι αριστερά ως μια άσκηση για τον αναγνώστη ότι αυτή η νέα εφαρμογή του ακροατή είναι βασικά πολύ παρόμοια με εκείνη που παρατηρήθηκε σε προηγούμενα κεφάλαια αυτού του οδηγού.
| |
ASP Zero (ebook)
Μαθαίνοντας Microsoft ASP και VBScript από το μηδέν. Σε μόνο 29 €. |
| |
ASP και την πρόσβαση (ebook)
Η διαχείριση μιας βάσης δεδομένων της MS Access με ASP. Σε μόνο 29 €. |
| |
Photoshop (Μάθημα)
Web γραφικών και επεξεργασίας φωτογραφιών με το δημοφιλές πρόγραμμα Adobe Photoshop. Από 49 €. |