Autore Topic: problema onItemClick  (Letto 418 volte)

Offline raimondo

  • Utente junior
  • **
  • Post: 130
  • Respect: 0
    • Mostra profilo
problema onItemClick
« il: 11 Dicembre 2011, 10:15:12 CET »
0
Salve ragazzi il problema è il seguente:
ho una list view di nomi che usa un SimpleAdapter ....adesso a me servirebbe il nome che vado a cliccare e adesso viene il bello:
dopo inutili tentativi e tanto tempo perso provo a ritornare la classe di "parent.getItemAtPosition(position)" e scopro che è una hashmap di un solo elemento(????? e perkè)...adesso però vorrei accedere al contenuto e facendo tu string ho "name=Raimondo" e nn solo raimondo....ho provato a traformarlo in un set ma ho sempre "name=Raimondo"....ragazzi qualcuno mi puo aiutare? come posso accedere a solo il nome selezionato?c'è un modo?

Codice (Java): [Seleziona]
                ArrayList <String> nameList = new ArrayList <String>(set);
               
                CreaListView list = new CreaListView(getApplicationContext());
                ListView v = (ListView) findViewById(R.id.personListView);
        v.setAdapter(list.listName(nameList));
        v.setOnItemClickListener(new OnItemClickListener() {
                @Override
                        public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
                               
                               
                             HashMap h = new HashMap( );
                             h= (HashMap)parent.getItemAtPosition(position);
                             h.get(id);
                              Toast.makeText(getApplicationContext(), h.toString(),
                                      Toast.LENGTH_SHORT).show();

                                }
                });

Simple Adapter
Codice (Java): [Seleziona]
public class CreaListView {
       
        private Context context;
       
        public CreaListView(Context context){
               
                this.context = context;
        }
               

       
        public SimpleAdapter listName(ArrayList<String> nameList){
               
                ArrayList<HashMap<String, Object>> data=new ArrayList<HashMap<String,Object>>();
       
                for(int i=0;i<nameList.size();i++){
            String contact =nameList.get(i);
            HashMap<String,Object> contactMap = new HashMap<String, Object>();
            contactMap.put("name", contact);
            data.add(contactMap);
        }
               
        String[] from={"name"};
        int[] to={R.id.personName};
       
        SimpleAdapter adapter=new SimpleAdapter(context.getApplicationContext(),data,R.layout.contact_item,from,to);

               
                return adapter;
               
               
        }

}

Offline SalvoCt

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Tablet Asus
  • Sistema operativo:
    Windows 7
Re:problema onItemClick
« Risposta #1 il: 03 Febbraio 2012, 15:51:41 CET »
0
Ciao ! al posto di

Codice (Java): [Seleziona]
 h.get(id);

metti

Codice (Java): [Seleziona]
h.get("name")