..
Στο προηγούμενο κεφάλαιο έχουμε χτίσει τη βασική δομή της αίτησης, εισάγοντας ένα TextView και δύο κουμπιά. Σε αυτό το κεφάλαιο θα συνδέσουμε ένα αντικείμενο ακροατή να etrambi κουμπιά cambiaremo και την αξία μέσα στο TextView ανάλογα με το αν κάνατε κλικ στο πρώτο ή το δεύτερο κουμπί.
Όπως μπορείτε να μαντέψετε, υπάρχουν διάφοροι τύποι των ακροατών, και το καθένα έχει τη δύναμη να αναγνωρίζει και να χειριστεί μια συγκεκριμένη αλληλεπίδραση του χρήστη με την οθόνη της συσκευής. Στην περίπτωσή μας, αφού θέλετε να χειριστεί την εκδήλωση "κάντε κλικ στο κουμπί", θα χρησιμοποιήσουμε έναν ακροατή σαν OnClickListener.
Η OnClickListener τάξη, όπως μπορεί να διαπιστωθεί στην επίσημη τεκμηρίωση του Android (για να το ανακτήσετε, απλά εισάγετε το όνομα της κατηγορίας στο πεδίο αναζήτησης), είναι μια αφηρημένη κλάση και ως εκ τούτου δεν μπορεί να είναι άμεσα αρχικοποιείται χωρίς πρώτα να τον επαναπροσδιορισμό των μεθόδων της.
Αναλύοντας documentazone εξακολουθεί να δούμε ότι η μόνη μέθοδος που δηλώνονται στην κατηγορία είναι η μέθοδος OnClick ότι πρέπει να επαναπροσδιορίσουμε το χρόνο instantiation του ακροατή.
Σε αυτή τη μέθοδο θα πρέπει να εισάγετε τον κωδικό για την προβλεπόμενη συμπεριφορά, όταν ο ακροατής αλιεύματα περίπτωση κατά την οποία συνδέεται.
Τώρα ανοίξτε το αρχείο και HelloWorld.java, πρώτον, εισάγουμε τα εξής πακέτο:
android.view.View εισαγωγές?το οποίο περιέχει το OnClickListener τάξη.
Μόλις γίνει αυτό μετά τον κωδικό για τα στοιχεία που δηλώνονται στο αρχείο all'asociazione main.xml, λοχίας εισάγετε τον κωδικό:
bottone1.setOnClickListener (View.OnClickListener νέα () {
δημόσια άκυρη onClick (προβολή Προβολή) {
textView1.setText («Ε» πατηθεί το κουμπί 1 ")?
}
})?
bottone2.setOnClickListener (View.OnClickListener νέα () {
δημόσια άκυρη onClick (προβολή Προβολή) {
textView1.setText («Ε» πατηθεί το κουμπί 2 ")?
}
})?
Είμαστε τώρα θα αναλύσουμε τον κωδικό που παρουσιάζεται ανωτέρω. Το πρώτο πράγμα που σας συνδέουν με setOnClickListener bottone1 OnClickListener χρησιμοποιώντας τη μέθοδο.
Ο αναγνώστης, prababilmente, θα βρείτε ένα μικρό «σύγχυση με την ανάγνωση της δομής του κώδικα για την instantiation του« OnClickListener () γιατί δεν είναι πολύ γραμμική. Ο κωδικός, όμως, αντανακλά ό, τι έχει ειπωθεί σε λίγες παραγράφους νωρίτερα για την αναγκαιότητα του να πρέπει να επαναπροσδιορίσουμε τη μέθοδο onClick. Στην πραγματικότητα, όταν η υπόσταση »OnClickListener με τη νέα δομή θα καθορίζουν επίσης τη μέθοδο με την εισαγωγή της συμπεριφοράς onClick ως ενημέρωση το περιεχόμενο του TextView.
Αν και η σύνταξη φαίνεται από τα παραπάνω μπορεί να είναι ενοχλητικό για τον αναγνώστη ότι θα πρέπει να είναι εξοικειωμένος καθώς αυτός είναι ο μόνος τρόπος για να υπόσταση,, σωστά ένας ακροατής. Στην πραγματικότητα, εάν είχαμε προσπαθήσει να υπαχθούν στο «OnClickListener και, μετά την onCreate μέθοδο, να καθορίσει τη μέθοδο OnClick παίρνουμε μόνο ένα μήνυμα σφάλματος από τον compiler που δείχνει σε μας ότι δεν μπορείτε να υπόσταση στην τάξη άμεσα OnClickListener ως αφηρημένη.
Ο κωδικός για το bottone2 είναι η ίδια και είναι παραλείπεται σκόπιμα η εξήγηση.
Η μέθοδος παραπάνω, ακόμα και αν πλήρως λειτουργικό και λογικά ορθή, δεν είναι η καλύτερη λύση που θα εγκριθεί, δεδομένου ότι απαιτεί πολλή γράφοντας κώδικα. Η τελευταία είναι επίσης δύσκολο να διατηρηθεί, αν έχετε να κάνετε με τόσα πολλά στοιχεία που έχουν μια σχετική OnClickListener. Στο επόμενο κεφάλαιο θα παρέχει, κατά συνέπεια, βελτίωση της εφαρμογής του ακροατή.
| |
CSS (Μάθημα)
Σχεδίαση και Προσβασιμότητα, σύμφωνα με το W3C CSS και XHTML. Ξεκινώντας από 29 €. |
| |
Flash MX (Advanced)
Γίνετε σχεδιαστής ιστοσελίδων από 29 €. |
| |
PHP (Μάθημα)
Η πλήρης σειρά μαθημάτων για τη δημιουργία δυναμικών ιστοσελίδων. Από 49 €. |