我已经下载了StickGridHeaders并对其进行了修改以对从互联网上获取的arraylist进行排序,也更改了项目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;
}
答案 0 :(得分:0)
您必须在适配器中实现任何图像加载器以进行图像加载。
参考链接 https://github.com/nostra13/Android-Universal-Image-Loader http://www.technotalkative.com/android-volley-library-example/