SimpleCursorAdapter obsolète dans la version API 15?

SimpleCursorAdapter dénonçait l'un de ses constructeurs avec le commentaire suivant:

Obsolète. Cette option est déconseillée, car elle entraîne l'exécution de requêtes de curseur sur le thread de L'interface utilisateur de l'application et peut donc entraîner une mauvaise réactivité ou même des erreurs de réponse de L'Application. Comme alternative, utilisez android.App.LoaderManager avec un android.contenu.CursorLoader.

Est-ce que cela rend toute la classe obsolète? L'autre constructeur (standard) n'est pas déconseillé.

30
demandé sur vogella 2012-01-09 19:20:25

1 réponses

Seul le constructeur est obsolète, pas toute la classe.

SimpleCursorAdapter (Context context, int layout, Cursor c, String[] from, int[] to) appels SimpleCursorAdapter (Context context, int layout, Cursor c, String[] from, int[] to, int flags) avec flags définie à FLAG_AUTO_REQUERY.

Mais {[3] } est obsolète car

[...] il en résulte des requêtes de curseur effectuées sur L'interface utilisateur de l'application fil [...]

, Donc aussi le constructeur est obsolète.

Le constructeur standard n'est pas obsolète mais, de toute évidence, vous n'avez pas à appeler avec flags = FLAG_AUTO_REQUERY!

Enfin, si vous utilisez SimpleCursorAdapter avec un CursorLoader, comme le suggère la documentation, ce drapeau n'est pas nécessaire et vous pouvez passer 0.

50
répondu Francesco Vadicamo 2012-01-09 22:11:47