2013-12-22 3 views
0

notifyDataSetChanged 이후에 이미지가로드되지 않을 때 문제가 있습니다. 전반적으로 웹에서 이미지를로드하고 장치에 저장하는 시작 클래스가 있습니다. 그리고 어댑터는 장치에 저장된 이미지를 사용합니다. 그래서 내가 이미지를 저장하기 전에 내 listview를 열면 내 자리 표시 자만 나타납니다. 그리고 만약 내가 yo 앱을 반환한다면 이미 저장 되었기 때문에 imageas ar이로드됩니다.android adapter 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 사용하지만 단순히 그냥 장치 (하지 비동기 등)을 Adapter에 대한 일반적

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

이 GridAdapter 무엇

(즉, 모든 내가 아직 생각할 수있는, 그래서 당신은 당신의 GridAdapter 구현을 추가하지 않은)? – gaurav5430

+0

'BaseAdapter' –

+0

내 대답을 확인 했습니까? 기본 어댑터에도 적용됩니다. 도움이 되나요? – gaurav5430

답변

0

에서 이미지를 설정하고, notifyDataSetChanged은 당신이 추가를 사용하는 경우, 삽입, 제거, 맑은 기능 작동 어댑터에.

예를 들어 adapter에 이미 이미지에 대한 참조가 추가 된 경우 (파일이 이미 존재하고 새 데이터를 쓰고 있기 때문에 가능할 것으로 보입니다.) 이미지의 속성이 변경되면 케이스, 크기), notifyDataSetChanged은 아무 것도하지 않습니다. 추가, 제거 만 감지 할 수 있습니다.

관련 문제