CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: pumaro con ben 3 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 9 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 31 Thanks ricevuti nell'ultimo mese

Pagina 1 di 4 123 ... ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 37
Discussione:

Adapter

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
    Androidiano


    Registrato dal
    Aug 2010
    Messaggi
    229

    Ringraziamenti
    0
    Ringraziato 5 volte in 4 Posts
    Predefinito

    Adapter

    Guardavo gli esempi di google e quelli del libro di Carli precisamente quello relativo agli ArrayAdapter su ListView. Posto di seguito di seguito il codice :
    File main.xml


    file row.xml


    file array.xml

    file java


    In allegato metto l'immagine di quello che questo codice genera.

    DOMANDA :
    Se volessi far assegnare ad ogni pulsante invece che la scritta standard "Pulsante" anche a questi la scritta Value1,Value2, etc come dovrebbe essere il codice ??
    Immagini allegate

  2.  
  3. #2
    Senior Droid


    Registrato dal
    May 2010
    Località
    Rivoli
    Messaggi
    426

    Ringraziamenti
    6
    Ringraziato 48 volte in 47 Posts
    Predefinito

    La scritta "Pulsante" viene assegnata di default nel file array.xml:

    codice:
    <Button android:id="@+id/Button01" android:layout_width="wrap_content"  
            android:layout_height="wrap_content" android:text="Pulsante">  
    </Button>
    Mentre i valori (Value1, Value2, ...) vemgono assegnati nel file java, quando associ l'array al ArrayAdapter:
    codice:
    adapter = new ArrayAdapter(this,R.layout.row,R.id.rowText,dati_array);
    Non trovo soluzioni semplici...
    L'unica soluzione che mi viene in mente, sarebbe intercettare il momento in cui viene fatta l'associazione, e assegnare al pulsante lo stesso valore della TextView
    ... ma fa schifo.
    Ultima modifica di TheCopacabanaMan; 20-10-10 alle 17:41

  4. #3
    Androidiano


    Registrato dal
    Aug 2010
    Messaggi
    229

    Ringraziamenti
    0
    Ringraziato 5 volte in 4 Posts
    Predefinito

    Ammazza non pensavo che io stessi chiedendo una cosa così complicata!

  5. #4
    Senior Droid


    Registrato dal
    May 2010
    Località
    Rivoli
    Messaggi
    426

    Ringraziamenti
    6
    Ringraziato 48 volte in 47 Posts
    Predefinito

    Ciao, Mimmog.
    Ho trovato un modo per risolvere il tuo quesito, e ho creato il progettino Eclipse che ti allego.

    Non e' cosi' semplice, perche' fa uso di ArrayList & HashMap. BTW, non e' tutta farina del mio sacco: ho trovato le info su internet

    Ho cercato di ridurre al minimo le linee di codice, ma se e' troppo ristretto, cerchero' di essere piu' prolisso

    Se incontri difficolta' nella comprensione, chiedi pure
    File allegati

  6. #5
    Senior Droid L'avatar di Cymon


    Registrato dal
    Jul 2010
    Messaggi
    419

    Ringraziamenti
    7
    Ringraziato 43 volte in 42 Posts
    Predefinito

    Quote Originariamente inviato da TheCopacabanaMan Visualizza il messaggio
    Ciao, Mimmog.
    Ho trovato un modo per risolvere il tuo quesito, e ho creato il progettino Eclipse che ti allego.

    Non e' cosi' semplice, perche' fa uso di ArrayList & HashMap. BTW, non e' tutta farina del mio sacco: ho trovato le info su internet

    Ho cercato di ridurre al minimo le linee di codice, ma se e' troppo ristretto, cerchero' di essere piu' prolisso

    Se incontri difficolta' nella comprensione, chiedi pure
    Mi sembra una soluzione molto elegante, anche se ammetto che il SimpleAdapter sembra un oggetto piuttosto contorto
    C'è qualcosa che non capisco... come fa il codice a sapere di dover sostituire le stringe proprio in quei text?
    Non mi sembra di vedere riferimenti nel layout alle tag che usi nel codice.
    Credevo che la cosa fosse legata alla frase

    The layout file should include at least those named views defined in "to"
    Ma non l'ho capita
    La mia katana: Slackware 13.1
    La mia wakizashi: Acer A1 Liquid con Android 2.1 Eclair
    Il mio sito: Follow the rabbit (con la sua App )

  7. #6
    Senior Droid


    Registrato dal
    May 2010
    Località
    Rivoli
    Messaggi
    426

    Ringraziamenti
    6
    Ringraziato 48 volte in 47 Posts
    Predefinito

    Quote Originariamente inviato da Cymon Visualizza il messaggio
    come fa il codice a sapere di dover sostituire le stringe proprio in quei text?
    Non mi sembra di vedere riferimenti nel layout alle tag che usi nel codice.
    Qui dichiaro quali sono le colonne del data map:
    codice:
    data_map.put("text_del_button", dati_array[i].toString());
    data_map.put("text_del_textview", dati_array[i].toString());
    cioe' "text_del_button" & "text_del_textview".

    Qui associo le colonne dichiarate sopra agli ID di ogni elemento della riga (R.layout.row):
    codice:
    data_adapter = new SimpleAdapter(this, data_list, R.layout.row, new String[] {"text_del_button", "text_del_textview"}, new int[] {R.id.Row_Button, R.id.Row_Text});
    La riga di sopra avrebbe potuto essere scritta cosi':
    codice:
    String[] nomi_delle_colonne = new String[] {"text_del_button", "text_del_textview"};
    int[] id_degli_elementi_di_ogni_riga = new int[] {R.id.Row_Button, R.id.Row_Text};
    data_adapter = new SimpleAdapter(this, data_list, R.layout.row, nomi_delle_colonne, id_degli_elementi_di_ogni_riga );
    e si sarebbe visto chiaramente che "text_del_button" & "text_del_textview" corrispondevano agli elementi R.id.Row_Button & R.id.Row_Text

    ... spero di essere stato abbastanza confuso!
    Ultima modifica di TheCopacabanaMan; 20-10-10 alle 11:46

  8. #7
    Senior Droid L'avatar di Cymon


    Registrato dal
    Jul 2010
    Messaggi
    419

    Ringraziamenti
    7
    Ringraziato 43 volte in 42 Posts
    Predefinito

    Quote Originariamente inviato da TheCopacabanaMan Visualizza il messaggio
    ... spero di essere stato abbastanza confuso!
    Abbastanza grazie
    Quello che mi chiedevo è se quindi in automatico il metodo vada in automatico a cercare nella configurazione un campo "text" e appiccichi la stringa lì...
    Probabilmente però è proprio così...
    La mia katana: Slackware 13.1
    La mia wakizashi: Acer A1 Liquid con Android 2.1 Eclair
    Il mio sito: Follow the rabbit (con la sua App )

  9. #8
    Androidiano


    Registrato dal
    Aug 2010
    Messaggi
    229

    Ringraziamenti
    0
    Ringraziato 5 volte in 4 Posts
    Predefinito

    Quote Originariamente inviato da TheCopacabanaMan Visualizza il messaggio
    Ciao, Mimmog.
    Ho trovato un modo per risolvere il tuo quesito, e ho creato il progettino Eclipse che ti allego.

    Non e' cosi' semplice, perche' fa uso di ArrayList & HashMap. BTW, non e' tutta farina del mio sacco: ho trovato le info su internet

    Ho cercato di ridurre al minimo le linee di codice, ma se e' troppo ristretto, cerchero' di essere piu' prolisso

    Se incontri difficolta' nella comprensione, chiedi pure
    Allora, prima di tutto ti ringrazio per l'impegno
    Ancora una volta android mi sorprende per il fatto che un operazione così semplice con altri linguaggi qui deve essere fatta con il SimpleAdapter + HasMap..... in php si sarebbe risolto con un cliclo for ed un echo

    Comunque, tornando a noi, avevo notato anche io ieri sul libro di Carli un esempio simile al tuo relativo al SimpleAdapter però non mi volevo convincere che una cosa così banale richiedesse il SimpleAdapter. Voglio dire, alla fine avevo un listview che mi scriveva i valori del mio array e volevo solo dirgli di cambiare anche l'etichetta ad ogni button niente di così eclatante.....pensavo bastasse solo una righetta del tipo pulsante.setText o roba del genere quindi ho preferito chiedere.....ed in effetti ora mi rendo conto che "In Android niente è quel che sembra"

    Grazie per l'aiuto!

  10. #9
    Senior Droid L'avatar di Cymon


    Registrato dal
    Jul 2010
    Messaggi
    419

    Ringraziamenti
    7
    Ringraziato 43 volte in 42 Posts
    Predefinito

    Quote Originariamente inviato da mimmog Visualizza il messaggio
    Allora, prima di tutto ti ringrazio per l'impegno
    Ancora una volta android mi sorprende per il fatto che un operazione così semplice con altri linguaggi qui deve essere fatta con il SimpleAdapter + HasMap..... in php si sarebbe risolto con un cliclo for ed un echo
    Mmmh, non so...

    Comunque io avrei usato un approccio diverso. Certo, il simpleadapter serve esattamente a quello, ma è un po' troppo contorto. Personalmente mi sarei creato una classe figlia di adapter e mi sarei creato i metodi per fabbricare i bottoni a piacere...

    In questo senso l'unica cosa che non mi piace di android è non avere modo di usare un xml di layout per un oggetto view piuttosto che per un activity... In questi casi sarebbe utile, soprattutto per pulizia di codice. Quando ho dovuto fare qualcosa di simile alla fine ho dovuto costruire tutto il blocco istanziando pezzetto per pezzetto nl java...
    La mia katana: Slackware 13.1
    La mia wakizashi: Acer A1 Liquid con Android 2.1 Eclair
    Il mio sito: Follow the rabbit (con la sua App )

  11. #10
    Senior Droid


    Registrato dal
    May 2010
    Località
    Rivoli
    Messaggi
    426

    Ringraziamenti
    6
    Ringraziato 48 volte in 47 Posts
    Predefinito

    Quote Originariamente inviato da mimmog Visualizza il messaggio
    una cosa così banale richiedesse il SimpleAdapter.
    Io avrei costruito una Table, e l'avrei riempita dinamicamente

    Quote Originariamente inviato da Cymon Visualizza il messaggio
    Comunque io avrei usato un approccio diverso.
    Cymon, prova a scrivere un progettino di esempio, e vediamo cos'avresti fatto

Pagina 1 di 4 123 ... ultimoultimo
Ultima pagina

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