【发布时间】:2014-05-09 12:24:13
【问题描述】:
我正在解析 vk 的群墙。有些帖子有照片(从 1 到 10),有些没有。我需要展示它们。但是,所有图像都是重复的。而且我无法让它们正确显示。我现在正在使用毕加索。它说它可以处理 ListView 图像,但事实并非如此。我在谷歌上找到的其他方式也不起作用。问题是如何正确处理图像。这是一段负责拍照的代码。
private void place_photos(View view, ArrayList<VKPhoto> photos) {
int pcount = photos.size();
final View v = view;
TableRow first = (TableRow)v.findViewById(R.id.first_row);
TableRow second = (TableRow)v.findViewById(R.id.second_row);
TableRow third = (TableRow)v.findViewById(R.id.third_row);
for (int i = 0; i < pcount; i++) {
if (i == 1) {
ImageView img = new ImageView(mContext);
String url = photos.get(i).photo_807;
img.setTag(url);
Picasso.with(mContext).load(url).into(img);
if (first != null)
first.addView(img);
}
if (i == 2 || i == 3) {
ImageView img = new ImageView(mContext);
String url = photos.get(i).photo_807;
img.setTag(url);
Picasso.with(mContext).load(url).into(img);
if (second != null)
second.addView(img);
}
if (i > 3) {
ImageView img = new ImageView(mContext);
String url = photos.get(i).photo_807;
img.setTag(url);
Picasso.with(mContext).load(url).into(img);
if (third != null)
third.addView(img);
}
}
}
这就是它在getView方法中的调用方式:
if (post.attachments.hasPhoto) {
place_photos(v, post.attachments.photos);
} else {
viewHolder.photo_wrapper.setVisibility(View.GONE);
}
UPD 这是完整的适配器代码:https://gist.github.com/alexbat98/7f22598e7e73d301a4ef
【问题讨论】:
-
如果您使用自定义适配器,请在此处粘贴该代码
-
@Kat-hat 上传到 Gist
-
我不确定,但你设置了 viewholder.photo 吗?
-
尝试使用这个“AndroidQuery”很棒的库从服务器异步加载图像code.google.com/p/android-query
-
我在 Gist 中没有找到 viewHolder.photo_wrapper。这个 imageview(viewHolder.photo_wrapper) 是重复的吗?
标签: android image android-layout android-listview baseadapter