我在notifyDataSetChanged
之后没有加载图片时遇到问题。总体来说,我有一个启动类,我开始从网上加载图像并将它们保存在设备上。适配器使用保存在设备上的图像。因此,如果我在保存图像之前打开我的列表视图,我只看到我的占位符。然后,如果我返回你的应用程序然后当然imageas加载因为他们已经保存。
创建适配器
adapter = new GridAdapter(getActivity(), grid, 6);
grid.setAdapter(adapter);
这里我保存图像并通知适配器。
try {
FileOutputStream fos = context.openFileOutput(String.valueOf(id)+".jpg", Context.MODE_PRIVATE);
fos.write(imageBytes);
fos.close();
try {
GridFragment.adapter.notifyDataSetChanged();
} catch (Exception e) {
// TODO: handle exception
}
。 在适配器中我使用图像加载库,但只是它只是从设备设置图像(而不是异步等)。
iLoader.displayImage("file:///"+mContext.getFileStreamPath
(String.valueOf(position)).toString()+".jpg", holder.imageView, DataHolder.options, this);
答案 0 :(得分:0)
通常对于Adapter
,notifyDataSetChanged
仅在您使用适配器上的添加,插入,移除和清除功能时才有效。
例如,如果您已经在adapter
中添加了对图像的引用(这似乎很可能,因为文件已存在并且您正在向其中写入新数据),那么如果图像的任何属性发生更改(在你的情况下,大小),notifyDataSetChanged
不会做任何事情。它只能检测添加,删除。
(您还没有添加GridAdapter
实施,所以我能想到的就是这样)