Я использую picasso для отображения изображения в recyclerview, но он не будет автоматически обновлять элемент при загрузке изображения, я должен вручную прокрутить, чтобы изображение отображалось. Что я могу сделать, чтобы исправить это, чтобы автоматически обновлять элемент recyclerview дисплея при завершении загрузки?Picasso в recyclerview не может автоматически обновлять дисплей при полной загрузке?
это мой адаптер класса:
public class LocationListRecyclerViewAdapter extends RecyclerView
.Adapter<LocationListRecyclerViewAdapter
.DataObjectHolder> {
private static String LOG_TAG = "LocationListRecyclerViewAdapter";
private ArrayList<LocationObject> mDataset;
private static MyClickListener myClickListener;
private Context mContext;
static String imageUrls;
public static String[] thumbnailUrl;
private LayoutInflater inflater;
public LocationListRecyclerViewAdapter(Context context, ArrayList<LocationObject> mDataset) {
this.mContext = context;
this.mDataset = mDataset;
}
public static class DataObjectHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView locName;
TextView locAddress;
TextView locDistance;
RoundedImageView roundedImageView;
public DataObjectHolder(View itemView) {
super(itemView);
this.locName = (TextView) itemView.findViewById(R.id.location_name);
this.locAddress = (TextView) itemView.findViewById(R.id.location_address);
this.locDistance = (TextView) itemView.findViewById(R.id.location_distance);
this.roundedImageView = (RoundedImageView) itemView.findViewById(R.id.thumbnail_location);
Log.i(LOG_TAG, "Adding Listener");
itemView.setOnClickListener(this);
}
@Override
public void onClick(View v) {
myClickListener.onItemClick(getAdapterPosition(), v);
}
}
public void setOnItemClickListener(MyClickListener myClickListener) {
this.myClickListener = myClickListener;
}
public LocationListRecyclerViewAdapter(ArrayList<LocationObject> myDataset) {
mDataset = myDataset;
}
@Override
public DataObjectHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.location_listcard_item, parent, false);
this.mContext = parent.getContext();
thumbnailUrl = new String[10];
TextView locName = (TextView) view.findViewById(R.id.location_name);
TextView locAddress = (TextView) view.findViewById(R.id.location_address);
TextView locDistance = (TextView) view.findViewById(R.id.location_distance);
Typeface helvetica = Typeface.createFromAsset(parent.getContext().getApplicationContext().getAssets(),"fonts/Helvetica.otf");
locName.setTypeface(helvetica);
locAddress.setTypeface(helvetica);
locDistance.setTypeface(helvetica);
DataObjectHolder dataObjectHolder = new DataObjectHolder(view);
return dataObjectHolder;
}
> @Override
> public void onBindViewHolder(DataObjectHolder holder, int position) {
LocationObject item = mDataset.get(position);
holder.locName.setText(mDataset.get(position).getLocationName());
holder.locAddress.setText(mDataset.get(position).getLocationAddress());
holder.locDistance.setText(String.valueOf(mDataset.get(position).getLocationDistance())+"m");
Log.i(position+" photos"," = "+mDataset.get(position).getLocationPhoto());
//mContext
Picasso.with(holder.roundedImageView.getContext()).cancelRequest(holder.roundedImageView);
Picasso.with(holder.roundedImageView.getContext())
.load(mDataset.get(position).getLocationPhoto())
.error(R.drawable.placeholder)
.placeholder(R.drawable.placeholder)
.resize(200,200)
.into(holder.roundedImageView);
holder.itemView.setTag(item);
}
public void addItem(LocationObject dataObj, int index) {
mDataset.add(index, dataObj);
notifyItemInserted(index);
}
public void deleteItem(int index) {
mDataset.remove(index);
notifyItemRemoved(index);
}
@Override
public int getItemCount() {
return mDataset.size();
}
public interface MyClickListener {
public void onItemClick(int position, View v);
}
}
еще же братан, он не будет автоматически обновлять отображение элемента, но когда я прокрутить изображение chaged:/ – mozaex
я удалить его братан, но до сих пор не работает, до сих пор привычка автоматически обновляют дисплей – mozaex