Autore Topic: E' possibile aver una ListView "dinamica" all'interno di un layout?  (Letto 1232 volte)

Offline Phate

  • Utente junior
  • **
  • Post: 123
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy S
  • Sistema operativo:
    Windows 7
Ciao a tutti, ho cercato un po' su google ma non ho trovato niente che mi soddisfi...vorrei creare un'applicazione composta in questo modo:
vi è un bottone in alto e una lista in basso, all'inizio vuota.
Una volta che l'utente preme il bottone la lista si popola di elementi (che sono oggetti, non semplici stringhe...quindi c'è anche un layout apposito per l'elemento che "accoglierà" i campi di interesse).

Cercando su google vedo solo applicazioni che estendono la ListActivity, ma io non voglio solo quella nella mia schermata (ci deve essere anche il bottone e qualche label), inoltre la maggiorparte prendono i dati da un array noto fin dall'inizio, invece nel mio caso i dati devono essere presi a run time, e possono cambiare da esecuzione a esecuzione.
Mi potete dare qualche consiglio su come procedere?
Purtroppo ho appena iniziato e i tutorial di base sulle view non mi hanno aiutato molto...

edit:
Ho creato il seguente layout di base, ma non ho proprio idea di come "collegarlo" al codice:
Codice: [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

    <TextView
        android:id="@+id/listLabel"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/listLabel" />
    <Button
        android:id="@+id/searchB"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_toRightOf="@id/listLabel"
        android:text="@string/searchBL"
        />
   
    <ListView
        android:id="@+id/myList"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
       android:layout_below="@id/listLabel"

   <!-- questa va popolata a run time dopo la pressione del button -->
    />

</RelativeLayout>
« Ultima modifica: 13 Gennaio 2012, 16:41:26 CET da Phate »

Offline E.Musso

  • Utente junior
  • **
  • Post: 82
  • Respect: +17
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy GT-S5660
  • Play Store ID:
    Emiliano Musso
  • Sistema operativo:
    Windows 7
Re:E' possibile aver una ListView "dinamica" all'interno di un layout?
« Risposta #1 il: 13 Gennaio 2012, 17:12:02 CET »
0
Ciao,
c'è un po' di carne al fuoco, direi di andare per gradi: anzitutto - bella notizia - non sei affatto costretto ad avere soltanto la ListView (benché estesa) nel tuo layout: puoi crearti un layout come preferisci (quindi, con il bottone in alto), e poi semplicemente aggiungere una ListView qualsiasi (che verrà poi estesa lato codice).

Di conseguenza, non avrai una ListActivity, ma un'Activity normalissima, all'interno della quale gestiremo la ListView estesa.
Come primo step, quindi, puoi creare il tuo layout a seconda delle necessità, e derivare gli oggetti lato codice (le varie findViewById, per capirci).

Per quanto riguarda il caricamento dei dati, utilizzeremo un Adapter di qualche tipo: resta da vedere se si tratta di dati contenuti in un database, oppure se si tratta di array (anche "non fisso", ma comunque da non memorizzare in qualche base dati).

Sarebbe utile, per poterti dare una mano più concreta, che postassi il codice scritto finora, in modo da vedere che direzione prendere.
Un saluto   :-)
Bollettazione Interventi - Un taglio ai costi di tipografia per professionisti!
--
È stata trovata una soluzione al tuo problema?Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:E' possibile aver una ListView "dinamica" all'interno di un layout?
« Risposta #2 il: 13 Gennaio 2012, 17:35:53 CET »
0
Puoi anche cominciare a sfogliare questo tutorial, a cui ovviamente puoi aggiungere nel layout quello che desideri.

[medio] ListView con layout personalizzato tramite un SimpleAdapter - Android Developers Italia
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Phate

  • Utente junior
  • **
  • Post: 123
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy S
  • Sistema operativo:
    Windows 7
Re:E' possibile aver una ListView "dinamica" all'interno di un layout?
« Risposta #4 il: 13 Gennaio 2012, 21:28:04 CET »
0
Grazie a tutti, leggendo le vostre guide sono riuscito a risolvere! :D
Già che ci siamo una domandina: ho risolto estendendo la classe ArrayAdapter in modo che si adattasse al mio layout...è una buona pratica o mi conveniva agire direttamente estendendo BaseAdapter?

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:E' possibile aver una ListView "dinamica" all'interno di un layout?
« Risposta #5 il: 13 Gennaio 2012, 21:53:30 CET »
0
Grazie a tutti, leggendo le vostre guide sono riuscito a risolvere! :D
Già che ci siamo una domandina: ho risolto estendendo la classe ArrayAdapter in modo che si adattasse al mio layout...è una buona pratica o mi conveniva agire direttamente estendendo BaseAdapter?
io di solito uso baseAdapter e mi faccio a manina
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia