【发布时间】:2019-06-18 14:47:24
【问题描述】:
虽然我有一个可行的“解决方案”,但我真的不喜欢它,并认为它会导致内存问题。最终,我有一个活动,其中包含一个由对象数组填充的 GridView -subjectArrayList
在活动中,我有一个按钮,我想在其中“重新加载”数组并更新网格视图。
目前我有这个:
// reload all subjects
subjectAreas = "all";
subjectsArrayList = populateSubjects();
myAdapter = new MyAdapter(getApplicationContext(), subjectsArrayList);
gridView.invalidateViews();
gridView.setAdapter(myAdapter);
我确信有一种更优雅的方法。我担心的是我正在创建另一个适配器而不是回收它。
我查看了 notifyDataSetChanged() 但不完全清楚如何使用它,我的各种尝试都没有发生任何事情。
问题: 1)我正在做的事情是否正确,或者我担心每次都重新创建我的适配器是正确的? 2)有没有更好的方法来实现我想要的?
提前致谢
【问题讨论】: