Моя книга "Hello Android" дает это как способ использования пользовательского помощника db, настройки курсора, а затем настройки адаптера следующим образом:
Cursor cursor
CustomDatabaseHelper test = new CustomDatabaseHelper(this);
try {
cursor = getData();
showData(cursor);
} finally {
test.close();
}
С этим, однако, каждый раз, когда мне нужно обновить набор данных, мне нужно продолжать работать с этим блоком кода (который немного затрудняет внутри onClick() для кнопки из-за отсутствия "this".
Это лучший способ обновить набор данных, или я должен посмотреть на удаление .close и выдачу адаптера .notifyDataSetChanged()? Если я это сделаю, иногда я получаю силу как (и я не могу вспомнить в данный момент), но иногда она не может правильно удалить. Я думаю, это может быть потому, что база данных в настоящее время открыта и она пытается открыть снова.
Должны ли мы также объявлять переменные для курсоров, DatabaseHelpers и Adapter в классе (вне OnCreate), чтобы они были доступны для всех функций?
Я понимаю, что это просто плохое программирование на этом этапе, но я пытаюсь получить некоторые указания относительно наилучшего способа сделать что-то.