के साथ उपयोग करते समय पिकासो छवि गलत जगह समस्या मेरे ऐप में, मैं उन वेब लेखों से प्राप्त लेख दिखा रहा हूं। उन लेखों में शीर्षक, छवि और अन्य फ़ील्ड हैं। छवियों को प्रदर्शित करने के लिए, मैं Picasso का उपयोग कर रहा हूं।रीसाइक्लर व्यू
समस्या - रीसाइक्लिंग व्यू स्क्रॉल करते समय, मैं छवियों को गलत स्थानांतरित कर रहा हूं। कुछ वस्तुओं में डुप्लिकेट छवियां हैं। मुझे पता है कि यह RecyclerView है जो xml आइटम लेआउट का पुन: उपयोग करता है और इसके कारण यह एक समस्या पैदा कर रहा है। लेकिन मुझे लगता है कि इस समस्या का कुछ समाधान होना चाहिए। मैंने इसके बारे में गुमराह किया है और स्टैक ओवरफ्लो पर कुछ पोस्ट पाई हैं लेकिन इससे मदद नहीं मिली। मेरी लेआउट फ़ाइल के भाग
<ImageView
android:id="@+id/img_image"
android:layout_width="match_parent"
android:layout_height="@dimen/cardview_image_thumbnail_height"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:scaleType="centerCrop"
android:layout_margin="@dimen/cardview_padding_btw_widgets"
android:src="@drawable/noimage"
/>
किसी भी मदद की सराहना की है - उदाहरण के
Picasso loads pictures to the wrong imageview in a list adapter
के लिए मैं निम्नलिखित लेकिन एक ही समस्या
public class ArticleAdapter extends RecyclerView.Adapter<ArticleAdapter.ArticleViewHolder> {
protected Activity mActivity;
protected List<Article> mItems = new ArrayList<>();
private static OnEntityClickCallback mCallback;
public ArticleAdapter(Activity pActivity) {
mActivity = pActivity;
}
public void setItemClickCallback(OnEntityClickCallback pCallback) {
this.mCallback = pCallback;
}
@Override
public ArticleViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View articleView = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_article_item, parent, false);
return new ArticleViewHolder(articleView);
}
public void addItem(List<Article> moreItems) {
mItems.addAll(moreItems);
notifyDataSetChanged();
}
public void removeItems(){
mItems.clear();
notifyDataSetChanged();
}
@Override
public void onBindViewHolder(ArticleViewHolder holder, int position) {
holder.bind(mItems.get(position));
}
@Override
public int getItemCount() {
return mItems.size();
}
static class ArticleViewHolder extends RecyclerView.ViewHolder {
private TextView tvTitle;
TextView tvAuthor;
TextView tvPostdate;
ImageView imgImage;
RatingBar ratingBar;
public ArticleViewHolder(View view) {
super(view);
this.tvTitle = (TextView) view.findViewById(R.id.tv_title);
this.tvAuthor = (TextView) view.findViewById(R.id.tv_author);
this.tvPostdate = (TextView) view.findViewById(R.id.tv_date);
this.imgImage = (ImageView) view.findViewById(R.id.img_image);
this.ratingBar = (RatingBar) view.findViewById(R.id.ratingBar);
}
public void bind(final Article article) {
tvTitle.setText(article.getTitle());
tvPostdate.setText(article.getPostdate());
tvAuthor.setText(article.getAuthor());
// Canceling the older request
Picasso.with(imgImage.getContext()).cancelRequest(imgImage);
// Creating a new request.
if (article.getImage() != null) {
Picasso.with(imgImage.getContext()).load(article.getImageUrl())
.placeholder(R.drawable.noimage)
.error(R.drawable.noimage)
.into(imgImage);
}
this.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mCallback != null)
mCallback.onEntitySelected(article);
}
});
}
}
}
अपडेट होने की कोशिश की है । धन्यवाद।
केवल चित्र की तरह अशक्त खो गया या भी ग्रंथों गया है सकते हैं? – Soham
@ सोहम केवल छवियां गुम हो रही हैं। –
क्या आप कृपया अपना एडाप्टर क्लास पोस्ट कर सकते हैं। – Soham