Comment insérer des éléments supplémentaires dans un SimpleCursorAdapter de Curseur ou pour un Spinner?
J'ai un compteur qui est d'afficher une liste de données récupérées à partir de la base de données. Les données sont renvoyées à un curseur à partir d'une requête, et le curseur passe à spinner est SimpleCursorAdapter. Il fonctionne très bien en tant que tel, mais je veux insérer un autre élément sur le dessus de ces données. Par exemple, le compteur affiche déjà une liste d'utilisateur créé des modèles enregistrés dans la bd, mais je veux insérer "Nouveau Modèle" et "Modèle Vide" en haut de la liste des modèles, et elle doit être insérée dans le Curseur/SimpleCursorAdapter en quelque sorte.
J'ai pensé à utiliser une arraylist et le remplissage de la liste de tableaux de curseur, mais le curseur est la meilleure solution pour moi, car il contient d'autres liées à des lignes de données. J'ai cherché sur internet pour d'autres solutions et a trouvé de réponses à certaines questions demandent à utiliser CursorWrapper à cette fin, mais je ne pouvais pas trouver un exemple concret comment utiliser CursorWrapper pour accomplir ce que je veux. Comment puis-je insérer quelques lignes de curseur ou quelqu'un peut donner un facile à suivre CursorWrapper exemple!! Merci à l'avance.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser une combinaison de
MergeCursor
etMatrixCursor
avec votre DBcursor
comme ceci:extras
etcursor
Curseurs?C'est la méthode que j'ai essayé.
DBHelper.insertRow()
Avec cette méthode, vous pouvez ajouter n'importe quel nombre de lignes n'importe où dans votre curseur. Même si elle n'est pas en faisant usage de CursorWrapper, il peut être utilisé avec CursorAdapters ou SimpleCursorAdapters.
J'ai essayé la solution proposée par @naktinis, mais le résultat n'était pas ce à quoi je m'attendais. Ce que j'ai voulu réaliser un adaptateur dans lequel de nouveaux éléments peuvent être ajoutés en haut (indice 0). Cependant, avec la solution donnée, de nouveaux éléments ont en effet été ajouté dans la partie supérieure, mais seulement à la FIN de la MatrixCursor. En d'autres termes, lorsque j'ai ajouté les lignes de façon dynamique pour les "extras" MatrixCursor, j'ai eu quelque chose comme ceci:
Cependant, ce que je voulais vraiment réaliser quelque chose comme:
En d'autres termes, la plupart des éléments récents entrer au sommet (indice 0).
J'ai été en mesure de réaliser cette opération manuellement en procédant de la suivre. Notez que je n'ai pas de comprendre toute la logique nécessaire pour gérer de façon dynamique la suppression des éléments de la carte.
J'ai trouvé quelques informations sur l'ajout de l'élément à spinner qui a SimpleCursorAdapter:
http://groups.google.com/group/android-developers/browse_thread/thread/4123868e02fc9172