Autore Topic: ListView con diversi eventi  (Letto 370 volte)

Offline Vincenzoz

  • Utente junior
  • **
  • Post: 122
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    Vincenzo Cimino
  • Sistema operativo:
    Windows 7
ListView con diversi eventi
« il: 24 Luglio 2013, 00:28:57 CEST »
0
Salve, di recente ho scritto un programma dove si ha un elenco, di textview cliccabili. Ho bisogno che ad ogni click su uno degli elementi della lista mi apra una determinata activity, allora ho provato così:

Codice: [Seleziona]
listaV.setOnItemClickListener(new OnItemClickListener() {
                        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Intent elementoIntent = new Intent(MainActivity.this, elemento.class);
                            startActivity(elementoIntent);
                        }
          });

Ma in questa maniera, ogni elemento che clicco mi apre quella activity, come posso fare a far aprire un'activity diversa per ogni elemento? Grazie mille in anticipo  :D
Vincenzo Cimino @ Google Play Store


Offline crbin1

  • Utente junior
  • **
  • Post: 61
  • Respect: +6
    • labeltodo
    • Mostra profilo
    • Do Androids Dream of Electric Sheep?
  • Dispositivo Android:
    Galaxy Nexus
Re:ListView con diversi eventi
« Risposta #1 il: 24 Luglio 2013, 08:12:46 CEST »
+1
Salve, di recente ho scritto un programma dove si ha un elenco, di textview cliccabili. Ho bisogno che ad ogni click su uno degli elementi della lista mi apra una determinata activity, allora ho provato così:

Codice: [Seleziona]
listaV.setOnItemClickListener(new OnItemClickListener() {
                        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Intent elementoIntent = new Intent(MainActivity.this, elemento.class);
                            startActivity(elementoIntent);
                        }
          });

Ma in questa maniera, ogni elemento che clicco mi apre quella activity, come posso fare a far aprire un'activity diversa per ogni elemento? Grazie mille in anticipo  :D

il metodo onItemClick ha un int position e un long id, che sono la posizione dell'elemento cliccato nella lista e il suo id. Con un IF su uno dei due elementi puoi creare intent diversi e aprire le activity di cui hai bisogo.

Offline zorcraft

  • Utente junior
  • **
  • Post: 108
  • Respect: +5
    • Mostra profilo
  • Dispositivo Android:
    note
  • Play Store ID:
    zorcraft
Re:ListView con diversi eventi
« Risposta #2 il: 24 Luglio 2013, 09:19:06 CEST »
+1
Puoi usare anche "switch case" :

Codice (Java): [Seleziona]
switch(id) {
    case 0:
        Intent elementoIntent = new Intent(MainActivity.this, elemento0.class);
        startActivity(elementoIntent);
        break;
    case 1:
        Intent elementoIntent = new Intent(MainActivity.this, elemento1.class);
        startActivity(elementoIntent);
        break;
     case 2:
        Intent elementoIntent = new Intent(MainActivity.this, elemento2.class);
        startActivity(elementoIntent);
        break;
}

Offline Vincenzoz

  • Utente junior
  • **
  • Post: 122
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    Vincenzo Cimino
  • Sistema operativo:
    Windows 7
Re:ListView con diversi eventi
« Risposta #3 il: 24 Luglio 2013, 14:45:55 CEST »
0
Grazie mille a tutti per l'aiuto  :D , ho risolto con uno switch della posizione :
Codice: [Seleziona]
switch(position) {
    case 0:
        Intent elementoIntent = new Intent(MainActivity.this, elemento0.class);
        startActivity(elementoIntent);
        break;
    case 1:
        Intent elementoIntent = new Intent(MainActivity.this, elemento1.class);
        startActivity(elementoIntent);
        break;
     case 2:
        Intent elementoIntent = new Intent(MainActivity.this, elemento2.class);
        startActivity(elementoIntent);
        break;
}
Vincenzo Cimino @ Google Play Store