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

Android Discussion :

Importer la liste des noms d'un dossier par ordre alphabétique


Sujet :

Android

  1. #1
    Membre régulier
    Homme Profil pro
    ETUDIANT
    Inscrit en
    Novembre 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : ETUDIANT

    Informations forums :
    Inscription : Novembre 2012
    Messages : 111
    Points : 70
    Points
    70
    Par défaut Importer la liste des noms d'un dossier par ordre alphabétique
    bonjour,

    j'importe la liste des noms d'un répertoire dans la listeView --> OK

    Voici le code :

    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
    public ArrayList<String> GetFiles(String DirectoryPath) {
     
        File f = new File(DirectoryPath);
        MyFiles = new ArrayList<String>();
     
        File[] files = f.listFiles(); 
     
        if (files.length == 0){}
        else {
            for (int i=0; i<files.length; i++) 
            	if(files[i].getName().equals("DB_BIBLIOTHEQUE") ||(files[i].getName().equals("auto backup"))){}else
            	{
     
            		MyFiles.add(files[i].getName());
            	}
     
        }
     
        return MyFiles; 
    }
    Donc files = f.listFiles()--> files qui prend tous les noms de f.

    Pour la listView:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ArrayList<String> FilesInFolder = GetFiles(path);
    	 listContent.setAdapter(new ArrayAdapter<String>(this,R.layout.list_clients, FilesInFolder));
    Mais je voudrais savoir comment voir cette liste par ordre alphabétique ?
    Merci d'avance

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Tout d'abord, les conventions Java :
    • les noms des classes en UpperCamelCase débutent par une majuscule, chaque nouveau mot débute par une majuscule, pas de _
    • les noms des méthodes sont en lowerCamelCase : débutent par une minuscule, chaque nouveau mot débute par une majuscule, pas de _
    • les noms des variables en lowerCamelCase
    • les noms des constants en MAJUSCULE_AVEC_SEPARATEUR


    Pour ton souci, il suffit de faire un Collections.sort(filesInFolder); avant de la passer à l'adapter.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Je rajouterais juste que "MyFiles" est utilisé comme une variable locale... mais qu'elle n'est pas déclarée dans la méthode !
    Y-a-t-il une raison particulière à cela ?
    Parce que là cela empêche la méthode d'être thread-safe et cela peut causer une consommation abusive de la mémoire...


    Sinon c'est pas très joli ces "if" vide. Pourquoi ne pas faire une négation de la condition ?


    a++

  4. #4
    Membre régulier
    Homme Profil pro
    ETUDIANT
    Inscrit en
    Novembre 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : ETUDIANT

    Informations forums :
    Inscription : Novembre 2012
    Messages : 111
    Points : 70
    Points
    70
    Par défaut rebonjour
    Bonjour ,

    Merci pour votre remarques .

    Donc j'ai rajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Collections.sort(FilesInFolder);
    Mais rien n'as changer !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ArrayList<String> FilesInFolder = GetFiles(path);
    Collections.sort(FilesInFolder);
    listContent.setAdapter(new ArrayAdapter<String>(admin.this,R.layout.list_clients, FilesInFolder));
    Merci d'avance

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 250
    Points : 403
    Points
    403
    Par défaut
    Curieux, il n'y a pas de raison que la liste ne soit pas triée en faisant un Collections.sort()
    Est-ce que ce ne serait pas plutôt la classe ArrayAdapter qui ne prendrait pas les éléments de la collection dans l'ordre ?
    Si tu mets un point d'arrêt ou que tu affiche le contenu de la liste après le Collections.sort, est-ce que la liste est triée correctement ?

  6. #6
    Membre régulier
    Homme Profil pro
    ETUDIANT
    Inscrit en
    Novembre 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : ETUDIANT

    Informations forums :
    Inscription : Novembre 2012
    Messages : 111
    Points : 70
    Points
    70
    Par défaut rebonjour
    Bonsoir,

    l'instruction Collections.sort(MyFiles) ,ça fonctionne le cas ou la liste commence en Majuscule.

    La solution que j'ai trouve pour le cas Majuscule et Miniscule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Collections.sort(MyFiles, String.CASE_INSENSITIVE_ORDER);
    Merci à tous ,Résolu!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/10/2012, 01h18
  2. Parcourir un dossier par ordre alphabétique
    Par zamoht dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/01/2011, 19h29
  3. Afficher des images d'un dossier en ordre alphabétique
    Par Alex Grenier dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 26/02/2008, 22h00
  4. [Tableaux] dossiers par ordre alphabétique
    Par ctrl+z dans le forum Langage
    Réponses: 4
    Dernier message: 03/04/2007, 12h18
  5. [VBA-E]Liste des noms de classeur dans un dossier
    Par Lexot2 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/09/2006, 21h04

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