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 :

SearchView : mais pas sur les premières lettres


Sujet :

Composants graphiques Android

  1. #1
    Membre averti
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2010
    Messages : 31
    Par défaut SearchView : mais pas sur les premières lettres
    Bonjour,

    J'ai une 'SearchView' qui fonctionne très bien dans un Listview MAIS il ne sélectionne que les premières lettres de la sélection.

    Par exemple dans :
    - Informatique
    - Android

    Si je tape 'a' il me sort uniquement Android alors qu'il y a un 'a' dans informatique.

    Je joint le Listener.

    Merci.

    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
     
            // quand recherche
            rech.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
     
                @Override
                public boolean onQueryTextSubmit(String text) {
                    return false;
                }
     
                @Override
                public boolean onQueryTextChange(String text) {
     
                    ((Filterable) RepListe.this.liste.getAdapter()).getFilter().filter(text);
     
                    return false;
                }
            });

  2. #2
    Membre très actif
    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
    Par défaut
    Bonjour,
    tu peux nous montrer votre adapter...
    normalement votre adapter doit implementer l'interface filtrable et dans ton filter tu gère comment tu va filter ta list..

  3. #3
    Membre averti
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2010
    Messages : 31
    Par défaut
    Merci de ta réponse.

    L'adapter est très simple.

    Le voici :
    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
     
    ListeFinale = new ArrayList<HashMap<String, String>>();
    liste = (ListView) findViewById(R.id.liste);
    rech = (SearchView) findViewById(R.id.rech);
     
     
    // ouverture BDD
    BDD_repManager m = new BDD_repManager(this);
    m.openRep();
     
    Cursor c = m.getToutRep();
    if (c.moveToFirst()) {
     
    	do {
     
    		HashMap<String, String> rep = new HashMap<String, String>();
     
    		rep.put(m.KEY_NOM, c.getString(c.getColumnIndex(m.KEY_NOM)));
    		rep.put(m.KEY_TEL, c.getString(c.getColumnIndex(m.KEY_TEL)));
    		rep.put(m.KEY_ADR, c.getString(c.getColumnIndex(m.KEY_ADR)));
    		rep.put(m.KEY_VIL, c.getString(c.getColumnIndex(m.KEY_VIL)));
    		rep.put(m.KEY_MAIL, c.getString(c.getColumnIndex(m.KEY_MAIL)));
    		ListeFinale.add(rep);
    	}
    	while (c.moveToNext());
    }
    c.close();
     
     
    adapter = new SimpleAdapter(
    		RepListe.this,
    		ListeFinale,
    		R.layout.repertoire_liste_detail,
    		new String[] { m.KEY_NOM, m.KEY_TEL, m.KEY_ADR, m.KEY_VIL, m.KEY_MAIL },
    		new int[] { R.id.nom, R.id.tel, R.id.adr, R.id.vil, R.id.mail });
     
    liste.setAdapter(adapter);
     
     
    // quand recherche
    rech.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
     
    	@Override
    	public boolean onQueryTextSubmit(String text) {
    		return false;
    	}
     
    	@Override
    	public boolean onQueryTextChange(String text) {
     
    		((Filterable) RepListe.this.liste.getAdapter()).getFilter().filter(text);
     
    		return false;
    	}
    });

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Tu ne peux pas faire ce que tu veux avec un SimpleAdapter.
    Tu doit faire un adapter personnalisé qui va implémenter Filterable et donc retourner un filtre qui convient à ton besoin.

    Un exemple complet ici : https://gist.github.com/fjfish/3024308
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre averti
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2010
    Messages : 31
    Par défaut
    En effet ce n'est pas aussi simple ... Ouille .. ouille

    Merci bien pour vos précieux conseils.

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

Discussions similaires

  1. Applet s'exécute sur Internet Explorer mais pas sur les autres navigateurs
    Par rosert dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 13/02/2015, 13h14
  2. [XL-2003] recherche sur les premiéres lettres
    Par mickisa dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/02/2011, 14h25
  3. Réponses: 1
    Dernier message: 26/03/2009, 14h10
  4. CSS : Bordure sur les liens mais pas sur les images ?
    Par monstroplante dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 04/02/2006, 14h18
  5. [CSS] border-collapse sur les TR mais pas sur les TD.
    Par hpfx dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 03/04/2005, 16h16

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