CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: con ben Thanks ricevuti nelle ultime 24 ore
Utente della settimana: bluemask con ben 8 Thanks ricevuti negli ultimi sette giorni
Utente del mese: bluemask con ben 23 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 3 su 3
Discussione:

Accedere elementi GridLayout

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 2014
    Messaggi
    4

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Accedere elementi GridLayout

    Salve a tutti, io devo creare una griglia 3x3 al centro dello schermo che viene riempita da numeri casuali. Io ho fatto un Gridlayout con 9 textView: come posso accedere ai vari elementi della griglia e inserire i numeri casuali senza dovervi accedere tramite id? Grazie dell'aiuto.

  2.  
  3. #2
    Androidiani Power User


    Registrato dal
    Jul 2012
    Messaggi
    19,917

    Ringraziamenti
    837
    Ringraziato 4,569 volte in 3,629 Posts
    Predefinito

    Quote Originariamente inviato da aleandro23 Visualizza il messaggio
    Salve a tutti, io devo creare una griglia 3x3 al centro dello schermo che viene riempita da numeri casuali. Io ho fatto un Gridlayout con 9 textView: come posso accedere ai vari elementi della griglia e inserire i numeri casuali senza dovervi accedere tramite id? Grazie dell'aiuto.
    Se vuoi creare una griglia con dei numeri casuali (sempre diversi) senza accedere tramite id devi creare una classe che estende gridview, e che si occupa di prendere gli elementi della vista e popolarli.
    So bene che questo richiede comunque di prendere gli id dalla vista o di crearli e aggiungerli da codice, ma almeno ti leva l'onere di farlo nella schermata principale.

    Un altro modo potrebbe essere quello di usare il metodo gridView.getChildCount() in modo da mantenere il codice scalabile nel caso vuoi inserire altri oggetti (altrimenti fissi il valore del count a 9). Poi fai un for che va da 0 a count e per ogni i estrai la vista figlio con gridView.getChildAt(i) che casterai a TextView (sempre per rendere il codice scalabile, metti prima un if che controlla se l'oggetto è istanza di TextView) e gli associ il valore random con il metodo setText().
    Ultima modifica di th3D0ct0r; 31-03-18 alle 14:18
    In basso a sinistra trovate il tasto thanks, quando un utente vi è di aiuto usatelo, vale molto più di mille parole di ringraziamento.
    NO PM CON RICHIESTE DI AIUTO...
    Per le richieste di aiuto usate le varie discussioni inerenti, se vogliamo scambiare due chiacchiere fra amici usate i PM.

  4. #3
    Baby Droid


    Registrato dal
    Aug 2014
    Messaggi
    4

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da th3D0ct0r Visualizza il messaggio
    Se vuoi creare una griglia con dei numeri casuali (sempre diversi) senza accedere tramite id devi creare una classe che estende gridview, e che si occupa di prendere gli elementi della vista e popolarli.
    So bene che questo richiede comunque di prendere gli id dalla vista o di crearli e aggiungerli da codice, ma almeno ti leva l'onere di farlo nella schermata principale.

    Un altro modo potrebbe essere quello di usare il metodo gridView.getChildCount() in modo da mantenere il codice scalabile nel caso vuoi inserire altri oggetti (altrimenti fissi il valore del count a 9). Poi fai un for che va da 0 a count e per ogni i estrai la vista figlio con gridView.getChildAt(i) che casterai a TextView (sempre per rendere il codice scalabile, metti prima un if che controlla se l'oggetto è istanza di TextView) e gli associ il valore random con il metodo setText().
    Grazie della risposta! Vorrei mettere dei bordi ad ogni cella della griglia, come si fa?

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