2011-06-16 5 views
2

Je récupère 20 noms d'une base de données sqlite et les affiche sous la forme de listview. Ils sont non triés. J'utilise filter et les trier par ordre alphabétique de sorte que j'évite le défilement inutile. J'ai aussi un edittext. Lorsque je tape une clé, elle correspond à listitems et filtre la liste. Chaque listitem a un texte correspondant avec,onlistitemclick après avoir filtré le listview

Le problème maintenant ici est, quand je trier et filtrer, la position du listitem change. Lorsque je clique dessus, il affiche le texte de ses positions actuelles et le texte de listitem.

Par exemple: J'entrées 3 DB

ROWID NAME  DESCRPTION 
1 RASHMI I AM FRM INDIA 
2 RICHA I AM FROM USA 
3 STELLA I AM FROM CANADA. 

vue Mes liste affiche uniquement la colonne NAME. Maintenant, quand j'appuie S dans le edittext, STELLA monte de la position 3 à la position 1. Lorsque je clique sur ce listitem, il affiche au lieu de I AM FROM CANADA. Chaque action a lieu à partir de SQLite DB.

+0

postez votre code ... – ngesh

Répondre

0

postez votre code adaptateur.

si vous modifiez le curseur sur l'adaptateur comme vous le faites probablement. être sûr d'obtenir le curseur de l'adaptateur en appelant

Cursor c = adapter.getCursor() 
c.moveToPosition(position); 
String description = c.getString(c.getColumnIndex("DESCRIPTION")); 

l'élément clé est de déplacer le curseur sur la position désirée dans la liste. Assurez-vous également que vous utilisez le curseur attaché à la listeVoir une instance précédemment enregistrée ou de votre première requête lorsque vous l'attribuez à l'adaptateur.

Questions connexes