16 Modifica oggetti Runtime con findViewById

Volete modificare il colore dello sfondo di una TextView o abilitare/disabilitare un Button durante l’esecuzione di un’applicazione?
Chi di voi ha letto la mia guida su come fare una prima applicazione ha già visto questa funzione e molto probabilmente avrà già capito il suo funzionamento. Tuttavia, dato che lo reputo un comando tra i più importanti che io abbia mai usato durante la programmazione, mi sembra giusto dedicargli un intero articolo.
Oggi vedremo quindi una funzione di fondamentale importanza per modificare gli offetti grafici runtime. Questa funzione è “findView ById”.
Farò subito un esempio.
Ipotiziamo di aver inserito un Button nell’xml della nostra applicazione e di volerlo modificare durante la sua esecuzione attraverso il codice java. Questi sono i comandi che dovremo usare:

Button b;
b=(Button)findViewById(R.id.pulsante);

“pulsante” sarà l’id che avrete dato nell’xml al vostro pulsante. La variabile “b” sarà un puntatore all’oggetto grafico Button con id=pulsante.
Adesso potrete semplicemente modificare le proprietà del bottone (come il suo testo, o il colore o qualsiasi altra opzione che potete modificare nell’xml) nel seguente modo:

b.proprietà(dati_modifica_proprietà);
Facciamo un paio di esempi semplici:
b.setText(“ciao”);//cambio testo
b.setBackgroundColor(Color.RED);//cambio colore sfondo

Un’ultima curiosità su questa istruzione. “findViewById” si occupa di trovarmi la “View”, ovverò l’oggetto grafico con id=pulsante. Prima di questa istruzione scrivo “(Button)” perché “findViewById” diciamo che mi passa una variabile di tipo View ,quindi ne faccio il cast perché la voglio salvare in una di tipo Button.
Dunque la regola generale è:

tipoOggetto nome_oggetto;
nome_oggetto=(tipoOggetto)findViewByIt(R.id.id_oggetto);

Finisce qui questo articolo, dovrebbe essere tutto chiaro, se non lo è scrivetemi nei commenti e sarò felice di rispodervi.
Alla prossima!

Please follow and like us: