Android 在Recyclerview中,图像在滚动时放错位置
我使用的customview包含ImageView和两个TextView,这是我的RecyclerView。适配器我使用毕加索库来显示图像Android 在Recyclerview中,图像在滚动时放错位置,android,android-layout,android-studio,android-recyclerview,Android,Android Layout,Android Studio,Android Recyclerview,我使用的customview包含ImageView和两个TextView,这是我的RecyclerView。适配器我使用毕加索库来显示图像 public void onBindViewHolder(final ViewHolder holder, final int position) { Picasso.with(context) .load(url) .placeholder(R.drawable.placeholder)
public void onBindViewHolder(final ViewHolder holder, final int position) {
Picasso.with(context)
.load(url)
.placeholder(R.drawable.placeholder)
.error(R.drawable.error)
.resize(100, 100)
.into(ivProfile);
holder.tvFirstName.setText(object.getFirstName();
holder.tvSecondName.setText(object.getSecondName);}
public int getItemCount()
{
return profileListDetails.size();
}
class ViewHolder extends RecyclerView.ViewHolder {
public TextView tvFirstName ;
public TextView tvSecondName ;
public ImageView ivProfile;
public ViewHolder(View itemView) {
super(itemView);
ivProfile= (ImageView) itemView.findViewById(R.id.ivProfile);
tvFirstName = (TextView) itemView.findViewById(R.id.tvFirstName );
tvSecondName = (TextView) itemView.findViewById(R.id.tvSecondName );
}
}
还有我的回收视图-
<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:scrollbars="vertical>
</android.support.v7.widget.RecyclerView>
谢谢大家的回复。。。
我终于解决了这个问题
public void onBindViewHolder(final ViewHolder holder, final int position) {
Picasso.with(context)
.load(url)
.placeholder(R.drawable.placeholder)
.error(R.drawable.error)
.resize(100, 100)
.into(ivProfile);
我在上面的代码中做了一些小改动。。。
在上面的代码中,ivProfile声明为全局,因此无法与ViewHolder引用链接。所以我改变了它如下
public void onBindViewHolder(final ViewHolder holder, final int position) {
Picasso.with(context)
.load(url)
.placeholder(R.drawable.placeholder)
.error(R.drawable.error)
.resize(100, 100)
.into(holder.ivProfile);
你所说的“改变”是什么意思,他们的立场正在改变?是否显示不同的图像?或者它们在闪烁?图像放错位置意味着位置1图像转到位置3或位置4图像显示到位置6,就像任何组合一样…位置不断变化,但当单击特定位置查看详细信息时,会显示右侧图像。在您的.into(ivProfile)
呼叫中,ivProfile是成员变量还是键入错误?如果不是键入错误,请将其更改为。改为(holder.ivProfile)
。
public void onBindViewHolder(final ViewHolder holder, final int position) {
Picasso.with(context)
.load(url)
.placeholder(R.drawable.placeholder)
.error(R.drawable.error)
.resize(100, 100)
.into(holder.ivProfile);