2013-12-22 60 views
0

我有問題,當圖像未加載後notifyDataSetChanged總的來說,我有啓動類,我開始從網站加載圖像,並將它們保存在設備上。並且適配器使用設備上保存的圖像。所以如果我在保存圖像之前打開我的列表視圖,我只能看到我的佔位符。然後,如果我返回喲應用程序,那麼當然imageas ar加載,因爲他們已經保存。android適配器notifydatasetchanged工作不正常

創建適配器

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 
       } 

。 而在適配器我使用imageloading庫,而只是它只是規定了從設備(未異步等)

 iLoader.displayImage("file:///"+mContext.getFileStreamPath 
       (String.valueOf(position)).toString()+".jpg", holder.imageView, DataHolder.options, this); 
+0

是什麼GridAdapter? – gaurav5430

+0

其「BaseAdapter」 –

+0

你檢查了我的答案嗎?它也適用於基礎適配器。它有幫助嗎? – gaurav5430

回答

0

一般爲Adapter圖像,notifyDataSetChanged只能如果使用添加,插入,刪除和清除功能在適配器上。

例如,如果您已經在adapter(這似乎很可能,因爲該文件已存在並且您正在向其寫入新數據)中添加對圖像的引用,則如果圖像的任何屬性發生更改(在您的情況下,大小),notifyDataSetChanged不會做任何事情。它只能檢測添加,刪除。

(你還沒有加入你的GridAdapter實現,所以這是所有我能想到還的)

相關問題