IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants graphiques Android Discussion :

Limiter le nombre d'item dans une Listview


Sujet :

Composants graphiques Android

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 70
    Points : 96
    Points
    96
    Par défaut Limiter le nombre d'item dans une Listview
    Bonjour,

    Je cherche à limiter le nombre d'item à 10 dans une ListView. J'ai créer un adapter pour gérer l'affichage des informations de ma liste et j'aimerai limiter l'affichage de tout ce que l'activité trouve à 10 items.

    Je tente avec getcount() mais rien de probant !

    Si quelqu'un pouvez m'éclairer, merci beaucoup !

  2. #2
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Deux solutions :
    1. soit tu te débrouilles pour que ton tableau de données ne contiennent que 10 éléments (et dans ce cas, rien à faire au niveau adapter)
    2. soit tu empêches la construction de plus de 10 Item dans la liste, via la méthode getView() de l'adapter


    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
     
               if (convertView == null && this.counter<=10) { //Conditions de création d'un item
                    convertView = mInflater.inflate(R.layout.item1, null);
                    this.counter++;
               }
     
               return convertView;
    }
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    Bonjour ,
    nous avons la fonction getcount que retourne le nombre d'item pour une listview .
    Pour limiter le nombre à 10, il suffit d'agir sur le position dans la fonction getView
    çad SI position <10 alors {traitement de remplissage d'inflater}


    Merci

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 70
    Points : 96
    Points
    96
    Par défaut
    Merci pour les réponses.

    J'ai tenté d'utiliser vos réponses mais rien à faire toute la liste apparait.

    Voici le code de l'adapter en aillant ajouté vos réponses :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    public View getView(int position, View convertView, ViewGroup parent) {
            View vi=convertView;
            if (convertView == null && this.counter<=10) {
            vi = inflater.inflate(R.layout.list_row, null);
            this.counter++;
     
     
     
     
            TextView title = (TextView)vi.findViewById(R.id.title);
            TextView desc = (TextView)vi.findViewById(R.id.description);
            TextView ziptown = (TextView)vi.findViewById(R.id.adresse);
            TextView dist = (TextView)vi.findViewById(R.id.cost);
            TextView tel = (TextView)vi.findViewById(R.id.numero);
            //TextView date = (TextView)vi.findViewById(R.id.date);
     
            HashMap<String, String> song = new HashMap<String, String>();
            song = data.get(position);
     
            // Setting all values in listview
            title.setText(song.get(GpsActivity.KEY_NOM));
            desc.setText(song.get(GpsActivity.KEY_ADR));
            dist.setText(song.get(GpsActivity.KEY_DIS));
            tel.setText(song.get(GpsActivity.KEY_TEL));
            ziptown.setText(song.get(GpsActivity.KEY_ZIP) + " "+song.get(GpsActivity.KEY_VILLE));
          //  date.setText(song.get(GpsActivity.KEY_DATE));
     
            }
     
            return vi;
        }
    }

    Et le code de l'activité qui fait appel à cet adapter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    for (int b = 0; b < liste.getLength(); b++) {
    			HashMap<String, String> map = new HashMap<String, String>();
    			Element e = (Element) liste.item(b);
     
     
     
    			String x = parser.getValue(e, KEY_LAT);
    			lat = Double.parseDouble(x);
    			String y = parser.getValue(e, KEY_LON);
    			lon = Double.parseDouble(y);
    			Location location2 = new Location("");
    			location2.setLatitude(lat);
    			location2.setLongitude(lon);
     
    			//on determine la distance entre le restaurant et l'utilisateur que l'on convertit en Km
    			double dist = Loading.location.distanceTo(location2);
    			double km = dist/1000;
     
     
    			DecimalFormat df = new DecimalFormat("000.00");
     
    			//on ajoute les information récupérer (adresse, distance,etc...) dans une HashList 
    			map.put(KEY_ID, parser.getValue(e, KEY_ID));
    			map.put(KEY_ADR, parser.getValue(e, KEY_ADR));
    			map.put(KEY_ZIP, parser.getValue(e, KEY_ZIP));
    			map.put(KEY_VILLE, parser.getValue(e, KEY_VILLE));
    			map.put(KEY_TEL, parser.getValue(e, KEY_TEL));
    			map.put(KEY_NOM, parser.getValue(e, KEY_NOM));
    			map.put(KEY_LON, parser.getValue(e, KEY_LON));
    			map.put(KEY_LAT, parser.getValue(e, KEY_LAT));
     
     
     
    			String dateString = parser.getValue(e, KEY_DATE);
    			SimpleDateFormat  format = new SimpleDateFormat("dd-MM-yyyy");
    			Calendar curDate = null;
    			try
    			{
    				curDate = Calendar.getInstance();
    				curDate.setTime(format.parse(dateString.replace('/','-')));
    				int year = curDate.get(Calendar.YEAR);
    				curDate.set(Calendar.YEAR, year + 2000);
    				curDate.set(Calendar.HOUR_OF_DAY, 0);
    	            curDate.set(Calendar.MINUTE, 0);
    	            curDate.set(Calendar.SECOND, 0);
    	            curDate.set(Calendar.MILLISECOND, 0);
    			}
    			catch (ParseException ee)
    			{
    				curDate = null;
    				ee.printStackTrace();
    			}
    			map.put(KEY_DATE, dateString);
    			map.put(KEY_DIS, String.valueOf(df.format(km))+" km");
     
    			// que l'on ajoute ensuite Ã* une ArrayList que l'on va pouvoir trier
     
    			System.out.println("dayDateeeeeeeeeeeeeeeeee");
    			System.out.println(DateFormat.format("yyyy-MM-dd hh:mm:ss", dayDate.getTime()));
    			System.out.println("curDateeeeeeeeeeeeeeeeee");  
    			System.out.println(DateFormat.format("yyyy-MM-dd hh:mm:ss", curDate.getTime()));
     
    			if (curDate.compareTo(dayDate) >= 0)
    			{
    				if ((usedDate == null) || (usedDate.compareTo(curDate) > 0))
    				{
    					restaulist.clear();
    					usedDate = curDate;
    				}
     
     
     
     
    				if(curDate.compareTo(usedDate) == 0)
     
     
    					restaulist.add(map);
    			}
    		}
    		Collections.sort(restaulist, new PositionComparator());
    		TextView lblDate = (TextView) findViewById(R.id.date);
    		android.text.format.DateFormat df = new android.text.format.DateFormat();
    		final String dateLongue = (String) df.format("EEEEEEEEEEEEEEEEE d MMMMMMMMMMMMMM yyyy", usedDate);
            lblDate.setText(dateLongue);
     
     
    		list=(ListView)findViewById(R.id.listviewcarte);
    		adapter=new GpsAdapter(GpsActivity.this, restaulist); 
     
    		list.setAdapter(adapter);

    L'acitivité va chercher, dans un fichier xml sur la carte SD, les données en fonction des km et de la date. Il m'affiche donc tout les km, ca j'arrive à le limiter, mais j'aimerai en plus qu'il n'affiche que 10 items de la listeview.

    Et là je cale

  5. #5
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Passe lui un tableau qu'avec 10 items alors à ton adpater comme te la suggérer Hephaistos007.

    soit tu te débrouilles pour que ton tableau de données ne contiennent que 10 éléments (et dans ce cas, rien à faire au niveau adapter)
    Il n'y a aucun intérêt à passer l'ensemble de ta liste si tu ne souhaites avoir que 10 items.

    Après tu aurais pu utiliser la méthode public int getViewTypeCount (pour savoir le nombre de vue créer au lieu de passer par un counter).
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 70
    Points : 96
    Points
    96
    Par défaut
    Citation Envoyé par Feanorin Voir le message
    Passe lui un tableau qu'avec 10 items alors à ton adpater comme te la suggérer Hephaistos007.



    Il n'y a aucun intérêt à passer l'ensemble de ta liste si tu ne souhaites avoir que 10 items.

    Après tu aurais pu utiliser la méthode public int getViewTypeCount (pour savoir le nombre de vue créer au lieu de passer par un counter).
    J'ai tenté d'utiliser le code donné par Hephaistos007, mais j'ai toujours la liste complete. J'ai mis le code un peu plus haut.

  7. #7
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                    Collections.sort(restaulist, new PositionComparator());
    		TextView lblDate = (TextView) findViewById(R.id.date);
    		android.text.format.DateFormat df = new android.text.format.DateFormat();
    		final String dateLongue = (String) df.format("EEEEEEEEEEEEEEEEE d MMMMMMMMMMMMMM yyyy", usedDate);
            lblDate.setText(dateLongue);
     
     
    		list=(ListView)findViewById(R.id.listviewcarte);
    		adapter=new GpsAdapter(GpsActivity.this, restaulist);
    Si c'est bien ton code... ou est le "crop" aux dix premiers éléments ?

    Il faudrait un appel à removeRange par exemple (dans le cas d'une ArrayList)
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  8. #8
    Membre à l'essai
    Homme Profil pro
    Architecte technique
    Inscrit en
    Avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 15
    Points : 23
    Points
    23
    Par défaut
    La solution de faire un test dans "getView" n'est absolument pas bonne ! Quand la méthode "getView" est appelée c'est trop tard : la ListView pense qu'il y a déjà un 11ème éléments puisque l'adapter lui a retourné qu'il y a 15 éléments (par exemple).

    Il y a la solution de limiter ta liste à 10 éléments mais je ne conseille pas cette solution : si tu as 100 éléments passe les tous à ton Adapter. C'est à l'adapteur que revient la responsabilité de savoir comment afficher les items (et donc par exemple en limiter le nombre à l'affichage).

    La solution consiste donc à écrire dans le "getCount" le code suivant (les items sont stockés dans List<MesObjets> items):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public int getCount() {
      if (items != null) {
        if (items <= MAX_ITEMS) {
          return items.size();
        }
        return MAX_ITEMS;
      }
      return 0;
    }
    Au delà du coté responsabilité des Adapter, l'autre avantage est que tu peux par exemple (quand le nombre d'items dépasse ton max) afficher un autre type de vue qui permet d'afficher les éléments cachés en cliquant dessus.

    Là je sens que je ne suis pas clair.... donc un exemple !

    Dans le screenshot suivant la liste des équipes d'un club peut être assez grande. Dans cette activité sous les équipes est affiché le calendrier prévisionnel du club. Pour éviter à l'utilisateur de devoir parcourir la liste complète des équipes avant de voir le calendrier, j'ai donc créé un Adapter (CollapsableAdapter) qui limite par défaut le nombre d'items visible à 3. Si le nombre d'items dépasse 3, l'adapter affiche en plus des 3ers items une autre vue qui permet de les afficher tous. Et quand ils sont tous visibles il affiche une vue permettant de réduire et de n'afficher que les 3ers ! L'avantage d'avoir passé tous les items à l'Adapter, c'est qu'il suffit de changer l'état (un flag de type boolean) et d'appeler "notifyDataChanged()" pour que tous les items s'affichent ! Tout reste en interne à l'Adapter, sinon tu devrais faire un listener sur ton Activity qui recalcule ta liste sans cette fois en enlever ???

    Le CollapsableAdapter ne détient d'ailleurs pas vraiment les items, puisqu'on lui passe l'Adapter qui lui contient les Items. Il ne fait donc que déléguer la plupart du temps, répondre correctement à l'appel de la méthode "getCount" (suivant le nombre d'items, l'état réduit ou non) et construire la vue qui permet de afficher/réduire la totalité des items. Ce qui fait que ce CollapsableAdapter est utilisable sur tous les Adapter du monde :-D


  9. #9
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Citation Envoyé par Eric Taix Voir le message
    La solution de faire un test dans "getView" n'est absolument pas bonne ! Quand la méthode "getView" est appelée c'est trop tard : la ListView pense qu'il y a déjà un 11ème éléments puisque l'adapter lui a retourné qu'il y a 15 éléments (par exemple).
    Certes, la méthode getView() est appelée mais le programmeur est quand même responsable de créer la vue de l'item ou de se contenter de recycler une vue existante (car juste sortie de l'espace d'affichage). Donc on peut s'en sortir. Toutefois, après réflexion, il est vrai qu'il est plus logique d'agir en amont au niveau de getCount()
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  10. #10
    Membre à l'essai
    Homme Profil pro
    Architecte technique
    Inscrit en
    Avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 15
    Points : 23
    Points
    23
    Par défaut
    Ce que je voulais dire par "absolument pas la bonne", c'est que je pense même que le code proposé plante. En effet si le convertView est à null et que le counter est > 10 alors on retourne null. Et là de mémoire, je ne crois pas que ça plaise beaucoup !!!

    En plus tu limitais le nombre de création de convertView à 10, alors que le nombre de création devrait correspondre au nombre total de vues qui sont affichées en même temps (ce nombre est par exemple complètement différent en mode portrait et en mode paysage). "assistech" souhaite limiter le nombre d'éléments affichés mais certains peuvent être non encore visible car la hauteur de 10 éléments est supérieure à la hauteur de la ListView.

    Ceci dit ce n'était pas une critique car je sais que lorsque l'on est impliqué dans un forum, il y a des centaines de questions (certaines stupides ou sans effort de recherche) et on a tendance à répondre vite.

    Enfin pour "assistech" n'utilise pas des "findByViewId" dans la méthode "getView" : c'est assez gourmand ! Cherche sur Google le pattern ViewHolder, ce qui te permettra de répondre à cette problématique.

  11. #11
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Pour info:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    public View View.findViewById(int id)
    {
            if (id < 0) {
                return null;
            }
            return findViewTraversal(id);
    }
     
     protected View ViewGroup.findViewTraversal(int id) {
            if (id == mID) {
                return this;
            }
     
            final View[] where = mChildren;
            final int len = mChildrenCount;
     
            for (int i = 0; i < len; i++) {
                View v = where[i];
     
                if ((v.mPrivateFlags & IS_ROOT_NAMESPACE) == 0) {
                    v = v.findViewById(id);
     
                    if (v != null) {
                        return v;
                    }
                }
            }
     
            return null;
        }
    Rien de gourmand donc quand il s'agit d'un simple layout avec 5/6 views...

    Le problème du ViewHolder pattern est le memory leak quasi systématique tant que le context initial existe. Ce leak est plus visible si on fait une activité avec setRetainInstanceState() pour gérer soit même les rotations...
    Une solution serait d'utiliser des WeakReference<View>... mais du coup... le gain en rapidité est pas si grand ^^

    Aussi possible est d'utiliser le setTag(int id, )... mais là, c'est le memory-leak assuré avant android 4.0....
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  12. #12
    Membre à l'essai
    Homme Profil pro
    Architecte technique
    Inscrit en
    Avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 15
    Points : 23
    Points
    23
    Par défaut
    Exact 5/6 Views avec un Layout à plat et 10 items dans la liste, le coté gourmand de "findViewById" ne se fera pas ressentir. Cependant 10 Views avec un Layout un peu compliqué et des milliers d'Items dans la liste ce n'est plus la même chose quand l'utilisateur se met à scroller comme un fou. Il ne faut pas oublier que "findByViewId" est récursif (complexité du Layout), qu'il est est appelé par autant de fois que le Layout contient de View et à chaque fois qu'un nouvel Item apparaît à l'écran (le scroll d'un nombre important d'Item dans la liste).

    De mémoire, concernant le memory leak c'est uniquement la méthode "setTag(int, Object)" qui pose problème (avant la version 4.0). La méthode "setTag(Object)" elle ne pose pas de problème de memory leak.

    Le pattern ViewHolder est une bonne habitude à prendre quand on gère des listes sur Android et il faut de toutes les manières écrire le code qui récupère la bonne View et qui affecte la valeur. De plus cela permet encore une séparation qui rend le code plus lisible.

    Mais après tout chacun est libre de coder comme il l'entend: ce n'était qu'un conseil.

  13. #13
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    une discussion sur le sujet
    http://code.google.com/p/android/issues/detail?id=18273

    Mais après tout chacun est libre de coder comme il l'entend: ce n'était qu'un conseil.
    Je pense que c'est des bons sujet de discussion sur les méthodes de chacun et de pouvoir les comparer .

    La ViewTagger:
    http://code.google.com/p/android/iss...A1356628373951
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  14. #14
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 70
    Points : 96
    Points
    96
    Par défaut
    Merci pour toute ces réponses. Je débute dans la programmation d'application mobile et ca n'est pas toujours facile... Pour cette application j'ai utilisé une base tiré d'un tuto dispo sur le net. Aprés la difficulté c'est de réaliser ce que l'on veut... C'est chose faite, et il ne me reste plus qu'a mettre cette limite sur ma listview !

    Donc merci pour vos aides, je vais plancher dessus et des que j'ai reussis je posterai la réponse.

    Bonne journée à tous

  15. #15
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 70
    Points : 96
    Points
    96
    Par défaut
    Voila je me suis penché sur la question et ca marche !

    voici le code que j'ai ajouté dans l'adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    int count = 10;
        int i=0;
     
        public int getCount() {
        	  if (items != null) {
        	    if (count<=i) {
        	      return items.size();
        	    }
        	    return count;
        	  }
        	  return 0;
        	}
    Voila, merci à tous pour votre aide et plus particuliérement à Eric Taix.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/08/2006, 12h36
  2. [VB.NET] Suppression d'un item dans une listview
    Par Remedy dans le forum Windows Forms
    Réponses: 5
    Dernier message: 17/07/2006, 16h00
  3. limite du nombre de caractères dans une requete
    Par pheno82 dans le forum Access
    Réponses: 3
    Dernier message: 01/06/2006, 22h12
  4. [C#] Suppression d'un item dans une listview
    Par Popof dans le forum Windows Forms
    Réponses: 6
    Dernier message: 15/04/2006, 13h58
  5. [C#] Limité le nombre de lignes dans une DataView ...
    Par maitrebn dans le forum Accès aux données
    Réponses: 5
    Dernier message: 07/11/2005, 23h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo