我已经下载了 StickGridHeaders 并对其进行了修改以对我从 Internet 获得的数组列表进行排序,还更改了项目 xml,因此每个单元格将显示图像而不是 texview。
问题 :
在我向上和向下滚动之前不会加载图像,就像在显示图像的滚动功能上发生的事情一样,所以有什么帮助解决这个问题并在加载后直接显示图像吗?
这是我简单的adatper getView 代码
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.item, parent, false);
holder = new ViewHolder();
holder.textView = (TextView) convertView.findViewById(android.R.id.text1);
holder.imageView = (ImageView) convertView.findViewById(R.id.imgGridBird);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
HashMap<String, String> myHash = new HashMap<String, String>();
myHash = StringArray.get(position);
HashMap<String, String> item = getItem(position);
if(ClassName.contains("Birds")){
if(Language.equals("ar")){
if (item.get("ArabicName") instanceof CharSequence) {
holder.textView.setText((CharSequence) myHash.get("ArabicName"));
} else {
holder.textView.setText(item.get("ArabicName").toString());
}
}else{
if (item.get("EnglishName") instanceof CharSequence) {
holder.textView.setText((CharSequence) myHash.get("EnglishName"));
} else {
holder.textView.setText(item.get("EnglishName").toString());
}
}
ImageLoaderNoResize.DisplayImage(myHash.get("ThumbImagePath"), holder.imageView);
}else{
if(Language.equals("ar")){
if (item.get("ArabicType") instanceof CharSequence) {
holder.textView.setText((CharSequence) myHash.get("ArabicName"));
} else {
holder.textView.setText(item.get("ArabicName").toString());
}
}else{
if (item.get("EnglishType") instanceof CharSequence) {
holder.textView.setText((CharSequence) myHash.get("EnglishName"));
} else {
holder.textView.setText(item.get("EnglishName").toString());
}
}
ImageLoaderNoResize.DisplayImage(myHash.get("ThumbImagePath"), holder.imageView);
}
return convertView;
}