CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: gianpassa con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 10 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 5 su 5
Discussione:

Istruzioni abbreviate

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Oct 2016
    Messaggi
    6

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Istruzioni abbreviate

    Salve a tutti,
    la seguente istruzione



    può essere abbreviata con:


    Potete spiegarmi o fornirmi dei link a del materiali che spieghi le abbreviazioni in Java??



    Questa riga è relativa alla Reflection in Java??

  2.  
  3. #2
    Baby Droid L'avatar di fattazzo


    Registrato dal
    Nov 2013
    Località
    Baselga di Pinè (Trento)
    Messaggi
    19
    Smartphone
    Xiaomi Redmi Note 3

    Ringraziamenti
    0
    Ringraziato 6 volte in 6 Posts
    Predefinito

    Il metodo


    restituisce una classe di tipo MenuInflater che come puoi vedere dal link, fra i vari metodi, possiede c'è anche "inflate(int menuRes, Menu menu)" quindi
    nel caso

    la riga 1 ottiene l'istanza della classe MenuInflater mentre la riga 2 invoca il metodo inflate sulla variabile inflater.

    Utilizzando invece la notazione

    si ottiene lo stesso risultato tranne per il fatto che non si passa per la variabile inflater

  4. Il seguente Utente ha ringraziato fattazzo per il post:

    roobb (31-05-17)

  5. #3
    Baby Droid


    Registrato dal
    Oct 2016
    Messaggi
    6

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Un dubbio.
    Te scrivi: "la riga 1 ottiene l'istanza della classe MenuInflater"
    MenuInflater inflater = getMenuInflater();

    Ma per creare un'istanza non si deve scrivere:
    Nome_Classe Nome_Oggetto = new Nome_Classe();??

    Perchè la seconda parte è diversa??

  6. #4
    Baby Droid L'avatar di fattazzo


    Registrato dal
    Nov 2013
    Località
    Baselga di Pinè (Trento)
    Messaggi
    19
    Smartphone
    Xiaomi Redmi Note 3

    Ringraziamenti
    0
    Ringraziato 6 volte in 6 Posts
    Predefinito

    getMenuInflater(); è la chiamata ad un metodo.
    Ti faccio un esempio per capire meglio:

    Ho una classe chiamata ClasseA definita in quato modo:

    codice:
    public class ClasseA {
    
        public MenuInflater getMenuInflater() {
            return new MenuInflater();
        }
    
         public void metodoB() {
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.menu_quiz, menu);
        }
    
        public void metodoC() {
            MenuInflater inflater = new MenuInflater();
            inflater.inflate(R.menu.menu_quiz, menu);
        }
    }
    Come puoi notare la classe A nel suo metodoB chiama il metodo getMenuInflater() che a sua volta instanzia e restituisce una istanza di MenuInflater.
    Il metodo C invece instanzia direttamente il MenuInflater.

    In questo esempio entrambi i metodi fanno esattmente la stessa cosa ma in 2 maniere diverse. Spero che questo riesca a farti un po di chiarezza riguardo la tua domanda.

  7. #5
    Baby Droid


    Registrato dal
    Oct 2016
    Messaggi
    6

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Sì è chiaro. E' solo che è la prima volta che lo vedo scritto un metodo e un'istanziazione in quel modo.
    Quindi MenuInflater è un metedo e getMenuInflater() e un altro metodo che istanzia direttamente MenuInflater. Ok.

    Mi puoi indicare qualche link al materiale per approfondire questo??

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy