Autore Topic: ListView  (Letto 2816 volte)

vincenzodicicco

  • Visitatore
ListView
« il: 05 Giugno 2010, 19:07:05 CEST »
Salve, qualcuno sa indicarmi una spiegazione dettagliata sul utilizzo di questo componente in android??, o magari e già in progetto un tutorial ?. grazie..

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:ListView
« Risposta #1 il: 05 Giugno 2010, 19:59:48 CEST »
Inizia con il dare un occhio alla guida ufficiale e alla doc:
Hello, ListView | Android Developers
ListView | Android Developers

se poi ha domande particolari chiedi pure.

Saluti
Qlimax


« Ultima modifica: 05 Giugno 2010, 20:01:37 CEST da Qlimax »

vincenzodicicco

  • Visitatore
Re:ListView
« Risposta #2 il: 06 Giugno 2010, 01:47:34 CEST »
Grazie tante!.
Ho avuto problemi anche nel provare l'esempio proposto, questo perché mi sfuggiva di utilizzare come classe ListActivity anziché Activity messa di default al inizio di un progetto. anche se era scritto molto chiaro XD.
Detto ciò penso, ho meglio ormai è certezza, che prima di sforzarmi a capire la ListView come altri componenti, sia meglio capire il concetto di classe e la sua reale importanza. Basti pensare che da vero niubbo pensavo girasse tutto all'interno della classe Activity, quindi in sintesi posso avere qualche spiegazione o un piccolo indirizzamento su ciò? grazie mille davvero :-)

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:ListView
« Risposta #3 il: 06 Giugno 2010, 02:37:19 CEST »
ho trovato una guida molto simpatica che spiega il concetto di classe e di oggetto
http://myflex.org/books/java4kids/Chapter3_ita.pdf
:) buona lettura

vincenzodicicco

  • Visitatore
Re:ListView
« Risposta #4 il: 06 Giugno 2010, 14:03:55 CEST »
Davvero simpatico ma è servito a tanto! grazie mille, ma quindi concedetemi un'altra domanda, non esiste una classe main in android?

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:ListView
« Risposta #5 il: 06 Giugno 2010, 14:30:21 CEST »
il main è un metodo... :-\ è il metodo che viene chiamato quando esegui un programma.
In android, per ora, "paragona" il main con l' onCreate

vincenzodicicco

  • Visitatore
Re:ListView
« Risposta #6 il: 07 Giugno 2010, 01:14:03 CEST »
Grazie tante :D

Offline Colly

  • Nuovo arrivato
  • *
  • Post: 21
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S
  • Sistema operativo:
    Windows 7
Re:ListView
« Risposta #7 il: 28 Settembre 2012, 16:33:07 CEST »
Inizia con il dare un occhio alla guida ufficiale e alla doc:
Hello, ListView | Android Developers
ListView | Android Developers

se poi ha domande particolari chiedi pure.

Saluti
Qlimax

Ciao ragazzi mi ricollego alla discussione per non aprire inutilmente un'altro topic. Perdonate se faccio domande da niubbo  :-P

Ho guardato un po' in giro in rete e anche nei due link android developer, ma non ho capito come fare a catturare l'evento di click su uno degli elementi della mia listview  ???
questa è la mia activity dove è presente la ListView:

Codice (Java): [Seleziona]
public class SelectAActivity extends Activity {
        public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.list_a);
       
        ListView listView = (ListView) findViewById(R.id.arrayList);
                String[] arrayData = getResources().getStringArray(R.array.localita_Cb_Ra);
                ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arrayData);
                listView.setAdapter(arrayAdapter);
        }
}

In rete ho trovato questo metodo da usare:

Codice (Java): [Seleziona]
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
// ...
}
});
...ma in che modo dovrei estrarre l'elemento selezionato dall'utente? int position rappresenta la posizione del widget all’interno dell’AdapterView, come indice da zero in su...
Facciamo un esempio: se la listView fosse un'elenco di città e l'utente clicca sulla seconda view (mettiamo sia Bologna), il metodo mi restituisce il numero 1? E io come lo associo al reale testo presente, cioè "Bologna"? Perché a me serve estrarre il testo per inserirlo in una String.
Grazie a chi mi aiuterà a capire  ;-)

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:ListView
« Risposta #8 il: 28 Settembre 2012, 17:18:09 CEST »
Ciao Colly,
benvenuto sul forum.

Nel tuo caso, gli elementi della listview sono ordinati in base all'ordinamento di arrayData.

quindi:

Codice (Java): [Seleziona]
String selectedCity=arrayData[position];

Offline Colly

  • Nuovo arrivato
  • *
  • Post: 21
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S
  • Sistema operativo:
    Windows 7
Re:ListView
« Risposta #9 il: 28 Settembre 2012, 19:39:42 CEST »
Ciao Colly,
benvenuto sul forum.

Nel tuo caso, gli elementi della listview sono ordinati in base all'ordinamento di arrayData.

quindi:

Codice (Java): [Seleziona]
String selectedCity=arrayData[position];
Grazie Qlimax  :-)

Perdonami ma non ho mica capito  :-P
Le varie view le metto in ordine nell'xml dove dichiaro lo string-array e loro appaiono così nella activity quindi quello è ok.
Quello che non so è quale metodo devo usare per catturare la selezione dell'utente?

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:ListView
« Risposta #10 il: 28 Settembre 2012, 20:50:03 CEST »
Codice (Java): [Seleziona]
listView.setOnItemClickListener(new OnItemClickListener() {
   @Override
   public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
      String selectedCity=arrayData[position];    //qui catturi la selezione dell'utente, nella variabile selectedCity hai il nome della città selezionata
   }
});


Offline Colly

  • Nuovo arrivato
  • *
  • Post: 21
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S
  • Sistema operativo:
    Windows 7
Re:ListView
« Risposta #11 il: 28 Settembre 2012, 21:35:19 CEST »
Aaaaaaaaaaaaa  :-P non avevo capito.
Vedendo che position era un integer non capivo come potesse tirar fuori una stringa...
Grazie mille!


Edit. Piccolo off topic:
mmm mi sa che è meglio se imparo a fare il debug. Ci sono tutorial al riguardo?
« Ultima modifica: 28 Settembre 2012, 22:13:43 CEST da Colly »