Autore Topic: Gestione del click su un item in una ListView Personalizzata  (Letto 603 volte)

Offline Hildian

  • Utente junior
  • **
  • Post: 60
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Meizu M1 Note
  • Sistema operativo:
    Mac OS X 10.8.5 e Windows 7
Gestione del click su un item in una ListView Personalizzata
« il: 12 Marzo 2014, 19:56:57 CET »
0
Salve a tutti precedente mente ho chiesto se potevate per gli eventi sulla listview semplice e vi ringrazio molto.
Vorrei chiedervi dato il seguente codice, vorrei che quando clicco mi va all'email a me serve solo il metodo da usare ho provato quello di prima ma non va. sapete qualcosa a riguardo?
a me interessa cliccare l'item come nella listview semplice di prima, ma che si prende il testo email_to e lo porta nell'email.
Codice (Java): [Seleziona]
package com.sorrentinoandrea.itipacinottimobile;

import java.util.ArrayList;
import java.util.HashMap;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;



public class Contact extends Activity {
       
        @Override
        public void onCreate(Bundle bundle){
                super.onCreate(bundle);
                setContentView(R.layout.contact_list);
                ArrayList<Email> personList=new ArrayList<Email>();
               
                        personList.add(new Email("Posta Certificata:","satf04000d@pec.postascuole.it",R.drawable.ico_email));
                        personList.add(new Email("Posta Istituzionale:","satf04000d@istruzione.it",R.drawable.ico_email));
                        personList.add(new Email("Al Dirigente Scolastico:","dirigentescolastico@itipacinotti.it",R.drawable.ico_email));
                        personList.add(new Email("Al DSGA:","amministrativo@itipacinotti.it",R.drawable.ico_email));
                        personList.add(new Email("Al Resp. dell'Uff. Tecnico:","ufficiotecnico@itipacinotti.it",R.drawable.ico_email));
                        personList.add(new Email("Al Web master:","webmaster@itipacinotti.it",R.drawable.ico_email));
                        personList.add(new Email("Patente Europea ECDL Core:","ecdlcore@itipacinotti.it",R.drawable.ico_email));
                        personList.add(new Email("Patente ECDL Advanced:","ecdladvanced@itipacinotti.it",R.drawable.ico_email));
                        personList.add(new Email("Microsoft Office Specialist:","mos@itipacinotti.it",R.drawable.ico_email));
                        personList.add(new Email("Biblioteca:","biblioteca@itipacinotti.it",R.drawable.ico_email));
                        personList.add(new Email("Per informazioni:","info@itipacinotti.it",R.drawable.ico_email));
                        personList.add(new Email("Patente EcdlCAD:","ecdlcad@itipacinotti.it",R.drawable.ico_email));
                        personList.add(new Email("Autodesk:","autodesk@itipacinotti.it",R.drawable.ico_email));
       
               
                ArrayList<HashMap<String, Object>> data=new ArrayList<HashMap<String,Object>>();
                for(int i=0;i<personList.size();i++){
            Email p=personList.get(i);
           
            HashMap<String,Object> personMap=new HashMap<String, Object>();
           
            personMap.put("imm", p.getPhotoRes());
            personMap.put("prog", p.getName());
            personMap.put("email_to", p.getSurname());
            data.add(personMap);  
    }
                String[] from={"imm","prog","email_to"};
        int[] to={R.id.imagelist,R.id.prog,R.id.email_to};
       
        SimpleAdapter adapter=new SimpleAdapter(
                getApplicationContext(),
                data,
                R.layout.list_element,
                from,
                to);
        ((ListView)findViewById(R.id.list)).setAdapter(adapter);
        }

    protected void onListItemClick(ListView l, View v, int position, long id){
    Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
    emailIntent.setType("plain/text");
    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Oggetto");
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Messaggio...");
    startActivity(Intent.createChooser(emailIntent, "Invia email..."));;
    }
    }
       

Grazie in anticipo!!   

Offline FrancescoAndroid

  • Utente junior
  • **
  • Post: 69
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    GiMiSiS Interactive
  • Sistema operativo:
    Android 2.3.3
Re:Gestione del click su un item in una ListView Personalizzata
« Risposta #1 il: 13 Marzo 2014, 12:25:38 CET »
0
per prima cosa ti consiglio di separare l'adapter e l'array di email in due classi separate dal gestore del layout (activity)

Offline Hildian

  • Utente junior
  • **
  • Post: 60
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Meizu M1 Note
  • Sistema operativo:
    Mac OS X 10.8.5 e Windows 7
Re:Gestione del click su un item in una ListView Personalizzata
« Risposta #2 il: 13 Marzo 2014, 13:52:01 CET »
0
 Grazie e poi per il click? ...

Inviato dal mio GT-I9505 utilizzando Tapatalk


Offline FrancescoAndroid

  • Utente junior
  • **
  • Post: 69
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    GiMiSiS Interactive
  • Sistema operativo:
    Android 2.3.3
Re:Gestione del click su un item in una ListView Personalizzata
« Risposta #3 il: 13 Marzo 2014, 14:40:32 CET »
0
Grazie e poi per il click? ...

Inviato dal mio GT-I9505 utilizzando Tapatalk

il click è di competenza dell'activity, il metodo è giusto non mi convince come chiami l'intent; prova così:

startActivity(new Intent(Intent.ACTION_SEND));

Offline Hildian

  • Utente junior
  • **
  • Post: 60
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Meizu M1 Note
  • Sistema operativo:
    Mac OS X 10.8.5 e Windows 7
Re:Gestione del click su un item in una ListView Personalizzata
« Risposta #4 il: 13 Marzo 2014, 14:45:14 CET »
0
Ti Ringrazio. Come separo nel mio caso l'adapter e l'array in due classi diverse?? Mi faicun esempio col mio codice?

Inviato dal mio GT-I9505 utilizzando Tapatalk


Offline FrancescoAndroid

  • Utente junior
  • **
  • Post: 69
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    GiMiSiS Interactive
  • Sistema operativo:
    Android 2.3.3

Offline Hildian

  • Utente junior
  • **
  • Post: 60
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Meizu M1 Note
  • Sistema operativo:
    Mac OS X 10.8.5 e Windows 7
Re:Gestione del click su un item in una ListView Personalizzata
« Risposta #6 il: 13 Marzo 2014, 15:08:21 CET »
0
Ottima Guida Grazie

Inviato dal mio GT-I9505 utilizzando Tapatalk


Offline FrancescoAndroid

  • Utente junior
  • **
  • Post: 69
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    GiMiSiS Interactive
  • Sistema operativo:
    Android 2.3.3

Offline Hildian

  • Utente junior
  • **
  • Post: 60
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Meizu M1 Note
  • Sistema operativo:
    Mac OS X 10.8.5 e Windows 7
Re:Gestione del click su un item in una ListView Personalizzata
« Risposta #8 il: 13 Marzo 2014, 15:35:23 CET »
0
Grazie, ma se rimango il mio codice come sta, succede qualcosa?

Inviato dal mio GT-I9505 utilizzando Tapatalk


Offline FrancescoAndroid

  • Utente junior
  • **
  • Post: 69
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    GiMiSiS Interactive
  • Sistema operativo:
    Android 2.3.3
Re:Gestione del click su un item in una ListView Personalizzata
« Risposta #9 il: 13 Marzo 2014, 15:57:06 CET »
0
Se guardi solo dal punto di vista del risultato finale sono uguali. Dal punto di vista della leggibilità è molto meglio dividere in vari pezzi, altrimenti se poi ci rimetti le mani tra un pò non capisci più nulla.

Offline Hildian

  • Utente junior
  • **
  • Post: 60
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Meizu M1 Note
  • Sistema operativo:
    Mac OS X 10.8.5 e Windows 7
Re:Gestione del click su un item in una ListView Personalizzata
« Risposta #10 il: 14 Marzo 2014, 09:14:25 CET »
0
Ma alla fine il click non va ..

Inviato dal mio GT-I9505 utilizzando Tapatalk