Android - comment faire pour supprimer un élément à partir d'un curseur?
Disons que je fais la suite de curseur pour obtenir le journal des appels de quelqu'un:
String[] strFields = {
android.provider.CallLog.Calls.NUMBER,
android.provider.CallLog.Calls.TYPE,
android.provider.CallLog.Calls.CACHED_NAME,
android.provider.CallLog.Calls.CACHED_NUMBER_TYPE
};
String strOrder = android.provider.CallLog.Calls.DATE + " DESC";
Cursor mCallCursor = getContentResolver().query(
android.provider.CallLog.Calls.CONTENT_URI,
strFields,
null,
null,
strOrder
);
Maintenant, comment pourrais-je aller sur supprimé le i-ème élément de ce curseur? Cela pourrait aussi être un curseur de l'affichage de la musique, etc. Alors je dois vous demander, est - ce même possible? Je peux comprendre que pour certains curseurs que les applications 3ème partie ne serait pas autorisé à supprimer de.
Grâce.
Vous devez vous connecter pour publier un commentaire.
Désolé contrainte que vous ne pouvez pas supprimer à partir d'un curseur.
Vous devez utiliser votre ContentResolver ou un appel SQL d'une certaine sorte..
Vous pouvez à un tour avec une MatrixCursor. Avec cette stratégie, vous copiez le curseur, et de sortir une ligne que vous souhaitez exclure. C'est - bien évidemment, n'est pas très efficace pour les grands curseurs que vous gardez l'ensemble du jeu de données dans la mémoire.
Vous aussi, vous devez répéter le tableau de Chaîne de noms de colonne dans le constructeur de la MatrixCursor. Vous devez garder cela comme une Constante.
Je ne cesse de se battre avec ce; d'essayer de faire mes applications avec les curseurs et les fournisseurs de contenu uniquement, loin de mappage d'objets aussi longtemps que je peux. Vous devriez voir certains de mes ViewBinders ... 🙂