У меня есть просмотр списка NoteList
, который содержит метод doListRefresh()
для выбора содержимого списка из таблицы sqlite note
, заполняет курсор (который заполняет мой array adapter
), затем вызывает adapter.notifyDataSetChanged();
, чтобы обновить список , После (добавить, изменить, удалить и т. Д.)
Внутри моего пользовательского Array adapter
я заполняю несколько элементов в каждой строке, включая кнопку удаления. Внутри array adapter
у меня есть обработчик кнопки onClick
и т. Д. Мне нужно вызвать NoteList.doListRefresh()
изнутри моего Array adapter
, и я делаю это с помощью установщика внутри моего array adapter
, который вызывается из NoteList
что-то как adapter.setNoteListObj(this);
. Это работает, но я не уверен, что это лучший способ?
Я хотел спросить, является ли это «наилучшей практикой» для подобных действий?
Спасибо за любой совет
Вот пример кода:
Внутри NoteList:
onCreate(Bundle savedInstanceState) {
thisObject = this;
}
// set custom ArrayAdapter to the data
adapter = new NoteArrayAdapter(activity, R.layout.channel_note_list_item, noteList);
adapter.setNoteList(thisObject);
...
внутри адаптера:
private NoteList callingNoteListObj;
...
// setter
protected void setNoteList(NoteList _callingNoteListObj) {
this.callingNoteListObj = _callingNoteListObj;
}
...
// within delete onclick handler (after delete)
// refresh local database
callingNoteListObj.doListRefresh();