CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: 4eyes81 con ben 3 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: elmegio con ben 7 Thanks ricevuti negli ultimi sette giorni
Utente del mese: bluemask con ben 43 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 4 su 4
Discussione:

Array di Button

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
    Aug 2012
    Messaggi
    22
    Smartphone
    Samsung Galaxy S3

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Array di Button

    Buonasera, sono nuovo del forum. Ho comprato un telefonino android da poco e ho iniziato a fare una calcolatrice. Il problema non riguarda il funzionamento, ma una "chicca" di eleganza nel codice. Mi spiego. Ho vari Button nel layout xml, e ho creato un Vector di Button per poterli gestire. Il punto è che si è creata una lista abbastanza lunga di add(), che, a mio avviso, è bruttina, e mi chiedevo se ci fosse un modo per prendere tutti i Button dal layout e creare un array in modo da rendere più immediata l'aggiunta di un pulsante. Ho provato a cercare su google ma non ho trovato nulla di utile. Spero possiate aiutarmi. Grazie in anticipo.

  2.  
  3. #2
    Senior Droid


    Registrato dal
    Mar 2012
    Messaggi
    326
    Smartphone
    Samsung Galaxy S2

    Ringraziamenti
    0
    Ringraziato 24 volte in 23 Posts
    Predefinito

    Diciamo che potresti evitarlo in questo modo.

    Chiami l'id di ogni button: button1,button2,button3 ecc...

    int idnumber = this.getResources().getIdentifier("button" + i, "button", this.getPackageName());

    dove i sara la variabile di un ciclo che va da 1 fino al numero x di button.
    Poi farai:
    Button btn = (button)findviewbyid(idnumber);
    e aggiungi btn al Vector.

    Verrà una cosa di questo genere:

    codice:
    for(i=1;i<numerodibutton;i++){
    int idnumber = this.getResources().getIdentifier("button" + i, "button", this.getPackageName());
    Button btn = (button)findviewbyid(idnumber);
    tuovector.add(btn);
    }
    Questo è il più immediato ma è un metodo un pò lento.
    Se ti va di complicarti un pò la vita dai un'occhio a questo post: Daniel Lew's Coding Thoughts: Dynamically Retrieving Resources in Android
    Federico Palmieri
    mailto: superfect@hotmail.it
    Gestione Clienti Premium -> QUI

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

    pirro94 (06-08-12)

  5. #3
    Baby Droid


    Registrato dal
    Aug 2012
    Messaggi
    22
    Smartphone
    Samsung Galaxy S3

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Grazie mille x la risposta!! Lunedì proverò entrambi i metodi e ti farò sapere.

  6. #4
    Baby Droid


    Registrato dal
    Aug 2012
    Messaggi
    22
    Smartphone
    Samsung Galaxy S3

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Il metodo utilizzato in quell'articolo sembra funzionare e penso che adotterò quello. Mi chiedevo però se ci fosse un metodo che conta quanti Button ho nel layout, in modo da avere due valori diversi per il portrait e per il landscape. Grazie in anticipo!!

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