Autore Topic: crea collegamento su riga ListView  (Letto 385 volte)

Offline sebastiano74

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung s2
  • Sistema operativo:
    windows 7
crea collegamento su riga ListView
« il: 25 Settembre 2014, 22:29:26 CEST »
0
Ciao,
Ho creato una ListView, di seguito il codice Java:
Codice (Java): [Seleziona]
 All'interno del metodo OnCreate
String[] accessori = { "Wind.it", "Digital Store Wind", "Play Store", "eBay", "Amazon", "Samsung Store", "Apple Store", "Windows Store", "Disney Store"};

ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_ list_item_1,accessori);
ListView lv= (ListView) findViewById(R.id.elencoaccessori);
lv.setAdapter(adapter);

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adattatore, final View componente, int pos, long id) {
//recupero il titolo memorizzato nella riga tramite l'ArrayAdapter
final String titolo = (String) adattatore.getItemAtPosition(pos);
//al click compare il testo del titolo della riga per qualche secondo
Toast.makeText(getApplicationContext(), titolo, Toast.LENGTH_SHORT).show();

Fino a qui tutto ok, funziona tutto
Adesso vorrei inserire su ogni riga visualizzata un link di collegamento ad un'altra MainActivity.
Dopo il Toast ho inserite il seguente codice:

Codice (Java): [Seleziona]
 Intent visit_wind = new Intent(MainActivity_3_canali.this, MainActivity_wind.class);
startActivity(visit_wind);

Ma ho notato che in questo modo tutte le righe della mia ListView mi portano sulla MainActivity_wind.
Come posso indirizzare ogni singola riga della LisView alla sua MainActivity specifica???

Offline tonno16

  • Utente storico
  • *****
  • Post: 1197
  • Respect: +58
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:crea collegamento su riga ListView
« Risposta #1 il: 25 Settembre 2014, 22:47:22 CEST »
0
Sarebbe giusto aprire la stessa activity però inserendo dei parametri. Prima di fare startActivity fai un bel intent.putExtra().

Riguarda il tag code. Non lo hai adoperato bene ;)

Offline sebastiano74

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung s2
  • Sistema operativo:
    windows 7
Re:crea collegamento su riga ListView
« Risposta #2 il: 25 Settembre 2014, 22:53:30 CEST »
0
Ok proverò e ti farò sapere.
Grazie mille e a presto

Offline sebastiano74

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung s2
  • Sistema operativo:
    windows 7
Re:crea collegamento su riga ListView
« Risposta #3 il: 26 Settembre 2014, 05:53:56 CEST »
0
Scusa ma mi diletto con Android da un mesetto circa. Per questo ti chiedo:
Quindi antepongo prima di startActivity, intent.putExtra()  ?
Ma così come fa a riconoscere le altre Activity da raggiungere?
Devo creare tanti intent per quante sono le righe della LisView ?


Post unito: [time]26 Settembre 2014, 07:35:11 CEST[/time]
Ciao,
ho provato ad inserire come segue:

Intent visit_wind = new Intent(MainActivity_canali.this, MainActivity_visita_wind.class);
Intent.putExtra(titolo, savedInstanceState);
startActivity(visit_wind);

Ma ricevo il seguente errore: Cannot make a static reference to the non-static method putExtra(String, Bundle) from the type Intent



Post unito: 26 Settembre 2014, 12:38:40 CEST
Posso avere supporto in qualche modo, di seguito il mio codice:

 String[] accessori = { "Wind.it", "Digital Store Wind", "Play Store", "eBay", "Amazon", "Samsung Store", "Apple Store", "Windows Store", "Disney Store"};
       
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,accessori);
        ListView lv= (ListView) findViewById(R.id.elenco_canali);
        lv.setAdapter(adapter);
       
        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
           

         
          @Override
            public void onItemClick(AdapterView<?> adattatore, final View componente, int pos, long id) {
               //recupero il titolo memorizzato nella riga tramite l'ArrayAdapter
               final String titolo = (String) adattatore.getItemAtPosition(pos);
               
               //al click compare il testo del titolo della riga per qualche secondo
               Toast.makeText(getApplicationContext(), titolo, Toast.LENGTH_SHORT).show();


//COSA INSERISCO QUI al posto del mio Intent, devo linkare ogni singola riga ad una Activity specifica:
               Intent visit_wind = new Intent(MainActivity_canali.this, MainActivity_visita_wind.class);
               startActivity(visit_wind);

                           }
                       });
       
« Ultima modifica: 26 Settembre 2014, 12:38:40 CEST da sebastiano74, Reason: Merged DoublePost »

Offline sebastiano74

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung s2
  • Sistema operativo:
    windows 7
Re:crea collegamento su riga ListView
« Risposta #4 il: 26 Settembre 2014, 21:48:23 CEST »
0
Qualcuno può darmi una mano su come creare dei collegamenti sulle righe di una ListView già creata?

Grazie anticipatamente