TextView
및 ImageView
으로 표시되는 ListView
을 목록 항목 행으로 만듭니다. 사용자을 눌러 update button
내가 당기는 AsyncTask
을 발사하고 때기존 ListVIew에 더 많은 항목을 추가 할 때 ImageView가 겹칩니다.
처음에 나는리스트 뷰보기에서 로컬 데이터베이스에서 기본 항목을로드하고 난
서버
에서 더 많은 항목을로드하기 목록보기의 상단에update button
이
아이콘 URL과 텍스트 서버에서.
ImageView에서 아이콘을로드하려면 ImageDownloader이라는 샘플을 사용하고 있는데 문제는 ImageView가 ViewHolder 패턴의 이전 ImageViews bcoz와 겹쳐져 있다는 것입니다. 그래서 누군가 내가 뭘 잘못 생각하고 있니?
여기가
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
TemplateData data = (TemplateData) this.getItem(position);
if(convertView == null){
LayoutInflater inflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView=inflater.inflate(R.layout.text_template_default_row, parent, false);
holder = new ViewHolder();
holder.templateText = (TextView) convertView.findViewById(R.id.defText);
holder.templateIcon = (ImageView)convertView.findViewById(R.id.defIcon);
holder.templateTitle = (TextView) convertView.findViewById(R.id.defTitle);
convertView.setTag(holder);
}else{
holder = (ViewHolder)convertView.getTag();
}
holder.templateText.setText(data.getText());
holder.templateTitle.setText(data.getTemplateTitle());
//isImageLoading initially sets to false so that default items will use the
// resource ids , it gets falsed when AsyncTask finished load Images and update the
//adapter and at that time this adapter has to pic the image from ImageDowloader
if(!isImageLoading)
data.setTemplateIconId(iconList[position]);
//Has resource id but not icon url
if(data.getTemplateIconId()!=0 && data.getTemplateIconUrl()==null){
Log.d("Load icon ","Default Load");
holder.templateIcon.setBackgroundResource(data.getTemplateIconId());
// does not has recource id so load url from server
}else if(data.getTemplateIconUrl()!=null && data.getTemplateIconId()==0){
Log.d("Load icon ","From Server Load");
imageDownloader.download(data.getTemplateIconUrl(), (ImageView) holder.templateIcon);
}
return convertView;
}
iconList 응용 프로그램에서 기존 아이콘의 리소스 ID를 포함 내 ListView에 어댑터 코드입니다. 누군가 더 자세한 정보를 원하면 언제든지 문의하십시오. 여기
편집
는 처음 8 개 템플릿 만 안드로이드 휴대폰에 저장된 데이터베이스에서로드 & 아이콘이있을 것 스크린 샷입니다. 그 이름은 템플릿 1에서 사용자가 버튼 새로운 템플릿을 여기에로드됩니다 업데이 트를 누르면 지금템플릿 6
에 시작합니다. 그 이름은 새 9 템플릿에 새 템플릿 1에서 시작하지만 imageViews가 중복됩니다 내가 위로 스크롤 할 때 N 아래로 여기 스크린 샷 나는 당신의imageDownloader
이 setImageResource
를 호출하는 것으로 의심
무슨 일이 일어나고 있는지 스크린 샷을 제공 할 수 있습니까? – HandlerExploit
@HandlerExploit 제 질문을 업데이트 해주세요. – Hunt