Autore Topic: chi mi spiega questo metodo/funzione per android?  (Letto 1090 volte)

Offline andexp

  • Utente junior
  • **
  • Post: 60
  • Respect: 0
    • Mostra profilo
chi mi spiega questo metodo/funzione per android?
« il: 22 Luglio 2012, 21:08:57 CEST »
0
ciao sono un nuovo dev Java e da poco sono entrato nel mondo android. ho trovato questo metodo per me "strano" perchè non riesco a capire come è implementato.

Codice (Java): [Seleziona]
        prova.setOnClickListener(new View.OnClickListener() {
                        public void onClick(View v) {
                                Intent i2 = new Intent(getApplicationContext(), prova.class);
                                startActivity(i2);
                        }
                });

da quello che ho capito sembrerebbe che venga richiamato il metodo "setOnClickListener quando viene premuto "prova", ma quel " new View.OnClickListener" cosa sarebbe?

Offline Melanogaster

  • Utente normale
  • ***
  • Post: 260
  • Respect: +11
    • Mostra profilo
  • Dispositivo Android:
    SII
  • Sistema operativo:
    Kubuntu
R: chi mi spiega questo metodo/funzione per android?
« Risposta #1 il: 23 Luglio 2012, 01:01:15 CEST »
0
Al click di prova istanzi l'oggetto 'onclick' a cui spetterà il compito di eseguire l'azione per cui prova é stato assegnato, ovvero aprire l'activity prova.class .

Prendi confidenza con questa struttura perché la userai parecchio e non sono per l'onclick ma tutti gli altri eventi!

Inviato dal mio GT-I9100 con Tapatalk 2

Offline andexp

  • Utente junior
  • **
  • Post: 60
  • Respect: 0
    • Mostra profilo
R: chi mi spiega questo metodo/funzione per android?
« Risposta #2 il: 23 Luglio 2012, 08:07:11 CEST »
0
Grazie per la risposta. Mi e un po ostile questo tipo di sintassi, ovvero subito dopo prova.setonclicklistener non capisco quella doppia apertura di parentesi graffe. In java non mi era mai capitato.

Inviato dal mio Galaxy Nexus con Tapatalk 2

Offline Melanogaster

  • Utente normale
  • ***
  • Post: 260
  • Respect: +11
    • Mostra profilo
  • Dispositivo Android:
    SII
  • Sistema operativo:
    Kubuntu
R: Re:R: chi mi spiega questo metodo/funzione per android?
« Risposta #3 il: 23 Luglio 2012, 09:23:12 CEST »
0
Grazie per la risposta. Mi e un po ostile questo tipo di sintassi, ovvero subito dopo prova.setonclicklistener non capisco quella doppia apertura di parentesi graffe. In java non mi era mai capitato.

Inviato dal mio Galaxy Nexus con Tapatalk 2
Il contenuto della funzione potresti pure istanziarlo come oggetto a se stante e poi richiamare la variabile dell'oggetto all'interno...

Purtroppo dal cellulare é difficile fare un esempio concreto, ma spero di essere stato chiaro

Inviato dal mio GT-I9100 con Tapatalk 2

Offline andexp

  • Utente junior
  • **
  • Post: 60
  • Respect: 0
    • Mostra profilo
R: chi mi spiega questo metodo/funzione per android?
« Risposta #4 il: 23 Luglio 2012, 09:28:01 CEST »
0
Non sai dirmi come fare a istanziare come oggetto quella funzione o darmi un link per capire meglio?  Thx

Inviato dal mio Galaxy Nexus con Tapatalk 2

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:R: chi mi spiega questo metodo/funzione per android?
« Risposta #5 il: 23 Luglio 2012, 09:36:45 CEST »
0
Non sai dirmi come fare a istanziare come oggetto quella funzione o darmi un link per capire meglio?  Thx

Il costrutto che trovi insolito, è qualcosa di strettamente legato al java. Le classi instanziate in questo modo si chiamano anonymous inner classes. Anonime perchè le istanzi senza dare un nome all'oggetto.

Questo breve tutorial java dovrebbe darti qualche spunto, per altre info puoi googlare anonymous inner classes.
Anonymous Inner Classes - Anonymous Inner Classes tutorial
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store