我创建了一个特定的视图元素,代码如下:
public class PersonViewHolder extends RecyclerView.ViewHolder {
ImageView personPhoto;
ImageButton personLike;
PersonViewHolder(View itemView) {
super(itemView);
personPhoto = (ImageView)itemView.findViewById(R.id.person_photo);
personLike = (ImageButton)itemView.findViewById(R.id.btn_like);
}
}
在 onBindViewHolder 方法中,值被设置为 personViewHolder.personPhoto 元素:
@Override
public void onBindViewHolder(PersonViewHolder personViewHolder, int i) { Glide.with(personViewHolder.personAge.getContext()).load(dogs.get(i).photoId).into(personViewHolder.personPhoto);}
接下来,在 AsyncTask 中,执行我需要的任务,在 onPostExecute 方法中,我想将图像设置到 personViewHolder.personLike 元素:
public final class like_set extends AsyncTask<Integer , Void, String> {
@Override
protected String doInBackground(Integer ... arg) {
String res = "1";
return res;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
if ( result.equals("1"))
{Glide.with(personViewHolder.personLike.getContext()).load(R.drawable.like_red).into(personViewHolder.personLike);
}
else
{
}
}
}
但是在onPostExecute中访问personViewHolder这一行时出现“Cannot resolve symbol personViewHolder”的错误。
如何通过此方法将图像设置到我的视图元素 PersonViewHolder 中?
还是不会写,他明明是在别的班。使您的
AsyncTask嵌套类或传入personViewHolder构造函数AsyncTask