Хотя у меня есть работающее «решение», оно мне действительно не нравится, и я думаю, что это приведет к проблемам с памятью.В конечном счете, у меня есть действие, которое состоит из GridView, который заполняется массивом объектов - subjectArrayList
. На занятии у меня есть кнопка, где я хочу «перезагрузить» массив и обновить вид сетки.
В настоящее время у меня есть это:
// reload all subjects
subjectAreas = "all";
subjectsArrayList = populateSubjects();
myAdapter = new MyAdapter(getApplicationContext(), subjectsArrayList);
gridView.invalidateViews();
gridView.setAdapter(myAdapter);
Я уверен, что есть более элегантный метод.Меня беспокоит то, что я создаю другой адаптер, а не перерабатываю его.
Я посмотрел на notifyDataSetChanged (), но не совсем ясно, как его использовать, и мои различные попытки приводят к тому, что ничего не происходит.
Вопросы: 1) Хорошо ли я делаюили я правильно беспокоюсь о том, что каждый раз заново создаю свой адаптер?2) Есть ли лучший способ добиться того, чего я хочу?
Заранее спасибо