我的RecyclerView有问题。 我使用带有DocumentView的支架(来自库bluejamesbond / TextJustify-Android)和使用Picasso加载图像的ImageView。
问题是,当我向下滚动页面,然后我尝试向上滚动时,Recycler"跳跃"到中间的上一个项目(当我继续向上滚动时,它会跳转到上一个项目等)。
任何人都知道为什么会这样?也许是因为使用Picasso或TextJustify库? 这是我的自定义视图持有者和onBindViewHolder& onCreateViewHolder方法:
class ContentViewHolder extends RecyclerView.ViewHolder {
DocumentView text;
ImageView img;
public ContentViewHolder(View itemView) {
super(itemView);
img = (ImageView) itemView.findViewById(R.id.item_content_image);
text = (DocumentView) itemView.findViewById(R.id.item_content_text);
}
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_content, parent, false);
return new ContentViewHolder(v);
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int i) {
ContentViewHolder contentViewHolder = (ContentViewHolder) holder;
contentViewHolder.text.setCacheConfig(DocumentView.CacheConfig.NO_CACHE);
contentViewHolder.text.getDocumentLayoutParams().setAntialias(true);
contentViewHolder.text.getDocumentLayoutParams().setLineHeightMultiplier(1.3f);
contentViewHolder.text.getDocumentLayoutParams().setTextColor(Color.DKGRAY);
ContentImage image = items.get(i).getImagen();
contentViewHolder.text.setText(items.get(i).getText());
Picasso.with(fragment.getActivity()).load(Util.getIdResourceImage(image.getImageId())).resize(200, 200).centerInside().into(contentViewHolder.img);
}
这是我充气的回收者视图项目
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_content_child"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:layout_marginBottom="21dp"
android:orientation="horizontal"
android:paddingLeft="55dp"
android:paddingRight="55dp">
<ImageView
android:id="@+id/item_content_image"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true" />
<com.bluejamesbond.text.DocumentView xmlns:ext="http://schemas.android.com/apk/res-auto"
android:id="@+id/item_content_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/item_content_image"
ext:documentView_textAlignment="justified"
ext:documentView_textFormat="plain"
ext:documentView_textSize="19sp" />
</RelativeLayout>
提前致谢