• Tag Archive | "Ajouter un mot-clef"

  • Tags: , , , ,

    Développer sa Listview personnalisée sous android

    Publié le 07 juin 2009 par Guy

    Dans se tuto je vais développer une listview personnalisée.
    La listview sous android c’est par défaut ça
    views lists example1 210x300 Développer sa Listview personnalisée sous android Android France
    je vais personnalisée ma listview elle sera de la forme titre en taille 15 et en dessous résumé en taille 10

    Je crée ma class Listperso qui est une extension de la class ListActivit

    ?Download download.txt
    1
    2
    3
    4
    5
    6
    7
    8
    
    public class Listperso  extends ListActivity {
     
          private  String[][]  aTableauResult;
    	 public void onCreate(Bundle savedInstanceState) {
    	        super.onCreate(savedInstanceState);
    	        setListAdapter(new SpeechListAdapter(this));
     
    	 }

    dans la méthode setListAdapter je passe la class SpeechListAdapter(this) cette classe et une extension de la class BaseAdapter je crée ma classe à la suite

    ?Download download.txt
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    
    private class SpeechListAdapter extends BaseAdapter {
    		 private Context mContext;
    		 private String[]  sResume ;
    		 private String[] sTitre;
    		 public SpeechListAdapter(Context context) {
    	            mContext = context;
     
    	            aTableauResult= //ajouter une fonction pour récupérer vos résultats dans un tablau au choix
    	            sResume  = aTableauResult[1];
    	            sTitles= aTableauResult[0];
    	        }
     
     
    	        public int getCount() {
    	            return sTitre.length;
    	        }
     
    	        public Object getItem(int position) {
    	            return position;
    	        }
    	        public long getItemId(int position) {
    	            return position;
    	        }
     
    	        public View getView(int position, View convertView, ViewGroup parent) {
    	            SpeechView sv;
    	            if (convertView == null) {
    	                sv = new SpeechView(mContext, mTitles[position],
    	                        mDialogue[position]);
    	            } else {
    	                sv = (SpeechView) convertView;
    	                sv.setTitre(sTitre[position]);
    	                sv.setResume(sResume[position]);
    	            }
     
    	            return sv;
    	        }    
     
    	 }

    sv est un objet de type SpeechView. je crée donc ma class SpeechView c’est elle qui vas définir le contenu de chaque item de ma liste.

    ?Download download.txt
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    
    	 private class SpeechView extends LinearLayout {
     
    	        private TextView mTitle;
    	        private TextView mResume;
    	        public SpeechView(Context context, String titre, String resume) {
    	            super(context);
     
    	            this.setOrientation(VERTICAL);
     
    	            // ici on construit l'affichage de notre item on peut également le faire dans un xml
    	            //ici le titre et la  taille du texte avec size
    	            mTitle = new TextView(context);
    	            mTitle.setText(titre);
    	            mTitle.setTextSize(15);
    	            addView(mTitle, new LinearLayout.LayoutParams(
    	                    LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
                      // le résumé avec la taille  du texte
    	            mResume= new TextView(context);
    	            mResume.setText(resume);
    	            mDialogue.setTextSize(10);
    	            addView(mDialogue, new LinearLayout.LayoutParams(
    	                    LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
    	        }
     
    	        /**
    	         * Convenience method to set the title of a SpeechView
    	         */
    	        public void setTitre(String titre) {
    	            mTitre.setText(titre);
    	        }
     
    	        /**
    	         * Convenience method to set the dialogue of a SpeechView
    	         */
    	        public void setDialogue(String words) {
    	            mDialogue.setText(words);
    	        }
     
    	    }

    Il ne reste plus qu’à rajoute la méthode onListItemClick pour traiter le click sur un item de notre liste.

    ?Download download.txt
    1
    2
    3
    4
    5
    6
    
     protected  void onListItemClick(ListView l, View v, int position, long id){	
     
    		 super.onListItemClick(l, v, position, id);
               // rajouter l'action sur le click sur votre liste
     
    }

    tutolisteview2 209x300 Développer sa Listview personnalisée sous android Android France

    IMPORTANT importer les librairies
    import android.app.ListActivity;
    import android.content.Context;
    import android.os.Bundle;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.LinearLayout;
    import android.widget.ListView;
    import android.widget.TextView;

    Il est temps de mettre à profit les tutoriels d’Android France:
    Passez à la vitesse supérieure et investissez quelques dizaines d’euros pour acquérir les connaissances qui vous feront gagner de l’argent avec vos applications, rendez-vous sur notre boutique Android-france pour ces formations en vidéo

    Comments (23)

  • Les Brèves