这真是一个奇怪的问题。它的基本要点是标题所说的。我有一个适配器,我正在更新并调用notifyDatasetChanged()
它但是问题是它不起作用,除非设备至少旋转一次。我一生都无法弄清楚为什么,在轮换发生后做了什么不同的事情?
有问题的代码在这里:
处理它的 ASyncTask ..
protected void onPostExecute(ArrayList<Records> result) {
if (ca == null)
{
ca = new CoverAdapter<Records>(c, R.layout.grid_cover_with_text_item, result);
}
if (gv.getAdapter() == null)
{
gv.setAdapter(ca);
}
else
{
new AdapterHelper().update((CoverAdapter) ca, result);
ca.notifyDataSetChanged;
}
}
"ca" 是 my adapter
, "gv" 是 myGridView
并且AdapterHelper().update
是我在这里找到的清除适配器并将所有结果添加arraylist
到其中的方法,因此应该正确更新它。
请记住,此代码在设备旋转后有效。现在很困惑,任何见解将不胜感激。提前致谢。