SimpleCursorAdapter устарел в API версии 15?

SimpleCursorAdapter обесценивает один из своих конструкторов со следующим комментарием:

Устаревшие. Этот параметр не рекомендуется, так как это приводит к выполнению запросов курсора в потоке пользовательского интерфейса приложения и, следовательно, может привести к плохой отзывчивости или даже к ошибкам приложения, не отвечающим. В качестве альтернативы, используйте android.app.LoaderManager с android.content.CursorLoader.

Означает ли это, что весь класс устарел? Другой (стандартный) конструктор не устарел.

Ответ 1

Только конструктор устарел, а не весь класс.

SimpleCursorAdapter (Context context, int layout, Cursor c, String[] from, int[] to) вызывает SimpleCursorAdapter (Context context, int layout, Cursor c, String[] from, int[] to, int flags) с flags, установленным в FLAG_AUTO_REQUERY.

Но FLAG_AUTO_REQUERY устарел, потому что

[...], это приводит к выполнению запросов курсора в пользовательском интерфейсе приложения thread [...]

так что конструктор устарел.

Стандартный конструктор не устарел, но, очевидно, вам не нужно называть его flags= FLAG_AUTO_REQUERY!

Наконец, если вы используете SimpleCursorAdapter с CursorLoader, как предполагает документация, этот флаг не нужен, и вы можете пройти 0.