2011-09-06 5 views
2

Fedor의 Lazy Load를 사용하고 있지만 목록 뷰 대신 갤러리를 채울 수 없습니다. 내 주요 문제는 별도의 레이아웃을 팽창하지 않아도되는 것 같다. 이미지 결과를 갤러리로 바로 전달하려면 어떻게해야합니까?Gallery 용 Fedor의 게으른로드

public View getView(int position, View convertView, ViewGroup parent) { 
    View vi=convertView; 
    if(convertView==null){ 
    ImageView image= new ImageView(context); 
    image.setLayoutParams(new Gallery.LayoutParams(150, 100)); 
    image.setScaleType(ImageView.ScaleType.FIT_XY); 
    imageLoader.DisplayImage(data[position], activity, image); 
    } 
    return vi; 
    } 

작동 나던 내 현재의 getView하고 오류가 갤러리 내에서 NullPointerException이있다.

적절한 개조에 대한 아이디어가 있으십니까?

답변

0

이 시도

감사 :

public View getView(int position, View convertView, ViewGroup parent) { 
    ImageView imgView; 
    if (convertView == null) { 
     imgView = new ImageView(context); 
     imgView.setLayoutParams(new Gallery.LayoutParams(150, 100)); 
     imgView.setScaleType(ImageView.ScaleType.FIT_XY); 
    } else { 
     imgView = convertView; 
    } 

    imageLoader.DisplayImage(data[position], activity, imgView); 

    return imgView; 
} 
+0

감사합니다.하지만 여기부터 조금씩 움직였습니다. 이제는 갤러리의 ImageView 만 포함하는 별도의 레이아웃을 부 풀려 활동을 성공적으로 시작할 수 있습니다. 오류는 없지만 스텁 이미지는 실제 이미지로 대체되지 않습니다. 나는 디버깅을 시도 할 것이지만 만일 당신이 대답을 알면 위대 할 것이다. – gloscherrybomb

+0

전체 코드를 게시해야합니다. 저는 문제없이 Fedor의 게으른로드 클래스를 직접 사용했고 제 자신의 요구에 쉽게 적응할 수있었습니다. –

2

나는 다음과 같은 사용하여 작업 할 그것을 가지고 :

public View getView(int position, View convertView, ViewGroup parent) { 
    View vi=convertView; 
    if(convertView==null){ 
     vi = inflater.inflate(R.layout.galitem, null); 
    ImageView image=(ImageView)vi.findViewById(R.id.galimage); 
    imageLoader.DisplayImage(data[position], activity, image); 
    } 

    return vi; 

} 

나는 다른 곳에서 매개 변수를 설정합니다.