Autore Topic: listview capricciosa  (Letto 1142 volte)

Offline ROS

  • Utente normale
  • ***
  • Post: 196
  • Respect: +5
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 10.04
listview capricciosa
« il: 23 Agosto 2011, 19:52:29 CEST »
0
Ciao a tutti,
e' tutta la sera che cerco di risolvere un problema. Ho una serie di ListView all'interno di un LinearLayout a sua volta racchiuso tra due ScrollView che a sua volta e' dentro un RelativeLayout... La struttura del layout e' semplificata al massimo per rendere il layout che mi occorre.
Il mio problema e' che le varie ListView sono espanse ad una determinata altezza e non riesco a modificarla. Ci ho messo fill_parent, wrap_content, ma nulla...dovrebbe modificare l'altezza in modo dinamico in base al contenuto, ma rimane invariato. L'unico modo che ho di modificarne l'altezza e' impostare un valore numerico che lo aumenti. In caso contrario tutte le ListView rimangono ad altezza uguale ed il loro contenuto viene mostrato tramite l'ausilio di una Scrollbar.

Esiste qualche opzione che mi sfugge?  :'(

EDIT: ho scoperto che e' il tag ScrollView che mi "compatta" le varie ListView...il fatto e' che non ne posso fare a meno, dovendo scorrere il LinearLayout all'interno che e' parecchio lungo. Consigli?
« Ultima modifica: 23 Agosto 2011, 20:24:42 CEST da SoulEdge »

Offline GennyAndroid

  • Utente junior
  • **
  • Post: 116
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Ace
  • Play Store ID:
    Gennaro Petito
  • Sistema operativo:
    Windows 7
Re:listview capricciosa
« Risposta #1 il: 28 Gennaio 2013, 01:08:39 CET »
0
Ho lo stesso identico problema, inserendo delle listview all'interno di una ScrollView, succede che queste al progredire delle righe non aumentano di altezza, mi spiego meglio:

nel file xml imposto la listview con layout_height: wrap_conten, ma nell'atto pratico la listview che sia di 2 righe o di 10 righe resta di un'altezza invariata.

Ho preferito riaprire questo topic dato che descrive alla perfezione il mio problema, spero non sia un problema, grazie

Offline Melanogaster

  • Utente normale
  • ***
  • Post: 260
  • Respect: +11
    • Mostra profilo
  • Dispositivo Android:
    SII
  • Sistema operativo:
    Kubuntu
R: listview capricciosa
« Risposta #2 il: 28 Gennaio 2013, 01:16:50 CET »
0
Quando io ho un problema simile uso una piccola riga di codice che calcola l'altezza delle singole row, le somma, ed imposta dinamicamente l'altezza.
Purtroppo ora sono dal cellulare e non posso copiartela

Offline GennyAndroid

  • Utente junior
  • **
  • Post: 116
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Ace
  • Play Store ID:
    Gennaro Petito
  • Sistema operativo:
    Windows 7
Re:listview capricciosa
« Risposta #3 il: 28 Gennaio 2013, 02:53:01 CET »
0
ho provato anche io una soluzione simile ma non posso utilizzarla, perchè non posso fare riferimento ad una misura standard da dare ad ogni riga in quanto se il contenuto di una riga è troppo lungo l'elemento della listview raddoppia circa la sua altezza ecco un esempio:

LISTVIEW:



Codice: [Seleziona]
-----------------------------------
prima riga scritta corta
-----------------------------------
seconda riga lunga che occ-
upa due righe
-----------------------------------
terza riga scritta corta
-----------------------------------

Offline Melanogaster

  • Utente normale
  • ***
  • Post: 260
  • Respect: +11
    • Mostra profilo
  • Dispositivo Android:
    SII
  • Sistema operativo:
    Kubuntu
R: listview capricciosa
« Risposta #4 il: 28 Gennaio 2013, 08:03:24 CET »
0
Sono molte righe?
Comunque la funzione di cui parlo somma la grandezza delle varie row, non usa un'altezza standard.
Se cerchi sono sicuro la troverai facilmente

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:listview capricciosa
« Risposta #5 il: 28 Gennaio 2013, 10:25:49 CET »
0
Non è una buona idea dare l'attributo layout_height="wrap_content" alla ListView in quanto la obblighi a dover misurare continuamente i suoi layout figli.
Nel tuo caso non ti basta dare alla view che usi per ciascuna riga della ListView?

Offline GennyAndroid

  • Utente junior
  • **
  • Post: 116
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Ace
  • Play Store ID:
    Gennaro Petito
  • Sistema operativo:
    Windows 7
Re:listview capricciosa
« Risposta #6 il: 28 Gennaio 2013, 13:22:25 CET »
0
Capisco che non è una buona pratica ciò che voglio fare, ma quello che volio ottenere è una lista di elementi disposti verticalmente che siano visibili sempre senza la necessita di scorrere la listview.

Devo avere la possibilità di scorrere la scrollview ma non la listview, quest'ultima deve avere l'altezza giusta per visualizzare correttamente le proprie righe.

Sono molte righe?
Comunque la funzione di cui parlo somma la grandezza delle varie row, non usa un'altezza standard.
Se cerchi sono sicuro la troverai facilmente

Ho scritto questo post proprio per un'aiuto, dato che è il secondo giorno che sto appresso a questa listview, se potessi postarmi un po di codice a cui fare riferimento te ne sarei molto grato

Offline elfo83

  • Utente normale
  • ***
  • Post: 287
  • Respect: +23
    • Mostra profilo
  • Sistema operativo:
    Mac OS 10.8.2
Re:listview capricciosa
« Risposta #7 il: 29 Gennaio 2013, 17:48:15 CET »
0
Scrivi il codice altrimenti non possiamo aiutarti