Пользовательский CursorAdapter без пакета совместимости - PullRequest
0 голосов
/ 19 февраля 2012

Я пытаюсь, чтобы пользовательский CursorAdapter работал правильно.Мой код , кажется, работает хорошо.Но, основываясь на документации для Android, я боюсь, что это может быть неверным в некоторых смыслах.

public class MyArrayAdapter extends CursorAdapter  {
    public MyArrayAdapter(Activity context, Cursor cursor) {
        super(context, cursor, false); 
        ....
    }
    ...
}

Комментарий для этого конструктора гласит:

"Конструктор, который позволяет контролировать авто-requery. Рекомендуется не использовать это, а вместо этого CursorAdapter (Context, Cursor, int). При использовании этого конструктора всегда устанавливается FLAG_REGISTER_CONTENT_OBSERVER. "

и документы FLAG_REGISTER_CONTENT_OBSERVER говорят:

"Будьте осторожны при использовании этого флага: вам нужно будет отключить текущий курсор от адаптера, чтобы избежать утечек из-за его зарегистрированных наблюдателей."

Оказывается, этохорошо известная проблема, но все предложенные мной альтернативы указывают на пакет совместимости или API11.Мне нужно написать код для v2.1, и я хочу избежать использования пакета совместимости в этом проекте.

Я ищу либо объяснение, каково влияние использования вышеупомянутого конструктора, и как правильно действоватьс последствиями или альтернативной реализацией.Как именно «сбросить текущий Курсор с адаптера»?

Связанные вопросы, указывающие на пакет совместимости:

Замена для SimpleCursorAdapter?

Какой CursorAdapter я должен использовать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...