CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: gianpassa con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 10 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 6 su 6
Discussione:

Listview personalizzata per effettuare la selezione

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Senior Droid


    Registrato dal
    Aug 2011
    Messaggi
    480

    Ringraziamenti
    6
    Ringraziato 1 volta in 1 Post
    Predefinito

    Listview personalizzata per effettuare la selezione

    RAgazzi dovrei creare una lista personalizzata di Poi,quindi devo farli visualizzare e poi permettere di selezionarli o tramite un box oppure magari cambiando colore di sfondo(rendendolo verde)
    Siccome la lista è sempre di dimensioni diverse(varia per le diverse città) ho utilizzato una listview per la visualizzazione,ma ora come faccio a rendere selezionabile e applicare l'azione per ogni elemento?Per ora ho aggiunto un metodo che dovrebbe restituirmi la posizione nella lista delgli elementi selezionati(ovviamente mi serve salvarli)


    codice:
    package progetto.gruppo0506;
    import android.app.Activity;
    import android.widget.*;
    import android.os.*;
    import android.view.KeyEvent;
    
    
    public class VisualizzaPoiActivity extends Activity {
    	
     
    	@Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.visualizza_poi);
                String[] poi=new String[]{"1","2","3","4","5","6","7","8","9","10"};
                ListView list1=(ListView)this.findViewById(R.id.listView1);
                ListAdapter adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,poi);
                list1.setAdapter(adapter);		
                int selezionati=list1.getCheckedItemPosition();
                
    	}
    		
    }

  2.  
  3. #2
    Androidiano


    Registrato dal
    Apr 2009
    Messaggi
    163

    Ringraziamenti
    2
    Ringraziato 8 volte in 8 Posts
    Predefinito

    Devi impostare un setOnItemClickListener alla lista per l utilizzo ti consiglio di consultare la documentazione ufficiale.

    Inviato dal mio GT-I9000 usando Tapatalk

  4. #3
    Senior Droid


    Registrato dal
    Aug 2011
    Messaggi
    480

    Ringraziamenti
    6
    Ringraziato 1 volta in 1 Post
    Predefinito

    riuscito ad ottenere il click,ma per cambiare la scritta di un singolo elemento della lista una volta cliccato?

  5. #4
    Senior Droid


    Registrato dal
    Aug 2011
    Messaggi
    480

    Ringraziamenti
    6
    Ringraziato 1 volta in 1 Post
    Predefinito

    allora ho modificato mettendo una checkedTextView nella listView.In particolare gli xml sono

    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/riga_lista_poi"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
    
        <CheckedTextView
            android:id="@+id/checkedTextView1"
            android:layout_width="fill_parent"
            android:layout_height="30dp"
            android:gravity="center"
            android:checkMark="@drawable/checkoff"/>
    
    </LinearLayout>

    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    
        <ListView
            android:id="@+id/listView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" 
            android:scrollbars="vertical">
            
        </ListView>
    
    </AbsoluteLayout>

    questo è l'activity per la gestione

    codice:
    package progetto.gruppo0506;
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.CheckedTextView;
    import android.widget.ListAdapter;
    import android.widget.ListView;
    
    
    
    public class VisualizzaPoiActivity extends Activity {
    	
    	private ListView list1;
    	private ListAdapter adapter;
    	@Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.visualizza_poi);
                String[] poi=new String[]{"1","2"};
                list1=(ListView)this.findViewById(R.id.listView1);
                list1.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
                adapter=new ArrayAdapter<String>(this,R.layout.riga_lista_poi,R.id.checkedTextView1, poi);
                list1.setAdapter(adapter);
                      
    	
    	list1.setOnItemClickListener(new AdapterView.OnItemClickListener(){
    		
    		public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                           CheckedTextView check=(CheckedTextView)findViewById(R.id.checkedTextView1);
                      	   if(!check.isChecked())
                      	   {
                      		   check.toggle();
                      		   check.setTextColor(-16711936);
                      		   check.setCheckMarkDrawable(R.drawable.check);
                      	   }
                           else
                           {
                      		   check.toggle();
                        	   check.setTextColor(-1);
                      		   check.setCheckMarkDrawable(R.drawable.checkoff);
                           }
    		}
    		
    	});
    	}
    
    }

    Il problema è la ricezione di un click preciso,tipo clicco su 8 e diventa verde la 10
    Mettendo solo due elementi clicco su uno e diventa verde 2,riclicco su uno e diventa verde 1,riclicco e torna bianco 2 e poi lo stesso su uno
    Ultima modifica di lucacali87; 06-12-11 alle 16:32

  6. #5
    Baby Droid


    Registrato dal
    May 2013
    Messaggi
    1

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Salve avete per caso un idea di come si fa a personalizzare una listview utilizzando getExtraStringArray per poter popolare la listview secondo una stringa di array?

  7. #6
    Baby Droid


    Registrato dal
    May 2013
    Messaggi
    3

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Salve ho creato un db chiamato Persona1 che ha un id,nome,cognome,telefono,email.
    Sono riuscito a visualizzarlo.


    Il problema è che vorrei che cliccando su un item vado in un'altra Activity che ho chiamato Scheda_Contatto, e visualizzo tutti i dati relativi all'item.
    Ho provatoma non riesco.


    AIUTOOO!

    P.s. Spiegatemi anche bene il significato dei parametri di onItemClick, grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy