【发布时间】:2015-11-27 00:13:15
【问题描述】:
我有一个来自自定义列表视图适配器中的 getView() 的异步调用,如下(最后一行):
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
holder=new Holder();
View rowView;
rowView = inflater.inflate(R.layout.list_posts_item, null);
holder.tvTitle=(TextView) rowView.findViewById(R.id.tvTitleNamePost);
holder.ivPrimaryImage=(ImageView) rowView.findViewById(R.id.ivPrimaryImage);
holder.ivPrimaryImage.setId(position);
holder.ivPrimaryImage.setTag(listOfPosts.get(position).getPostId());
holder.tvLocality=(TextView) rowView.findViewById(R.id.tvLocalityPosts);
holder.tvDateCreated=(TextView) rowView.findViewById(R.id.tvDateCreated);
holder.tvTitle.setText(listOfPosts.get(position).getTitle());
holder.ivPrimaryImage.setImageBitmap(listOfPosts.get(position).getImage());
holder.tvLocality.setText(listOfPosts.get(position).getLocality());
holder.tvDateCreated.setText(listOfPosts.get(position).getCreatedDate());
postId = listOfPosts.get(position).getPostId();
Image image = new Image();
image.setImg(holder.ivPrimaryImage);
if(!"N".equalsIgnoreCase(listOfPosts.get(position).getHasImage()))
new GetPrimaryImages().execute(image);
return rowView;
}
问题是,每次执行 getView 时都会发生异步调用。我们可以限制调用,仅当考虑的项目是 imageView 时?
【问题讨论】:
-
你的意思是当你“按下”一个 ImageView 时?
-
@MicheleLacorte 否。由于我的适配器有 6 行,我希望以下仅执行 6 次。新的 GetPrimaryImages().execute(image);但它在一行中执行 6*number 个小部件。我想限制它。
-
迭代 listOfPosts.size();并且设置计数器具有静态,我知道这不是最好的方法,但它应该可以工作
-
@MicheleLacorte 我没听懂你。能否请您提供一段代码支持?
-
listOfPosts 有 6 行吧?
标签: android android-listview android-asynctask getview listview-adapter