Iho*_*mov 3 android scroll android-recyclerview
嗨,我有一个 RecyclerView,用于在两列中显示图像。电影的 ArrayList 包含 60 个用于图像的 URL 字符串。因此图像可以很好地加载到 ImageViews 中。当我向下滚动时,一切正常,然后我到达底部并向上滚动,有一段时间它滚动正常,但随后滚动到最顶部,我实际上看到了尝试加载之间的所有照片。我寻找了这个问题,但没有找到这个滚动问题的原因。但是如果我在列表中只有 20 个项目,一切都很好
这是适配器的代码:
public class CustomAdapter extends RecyclerView.Adapter<CustomAdapter.ViewHolder> {
private ArrayList<Movie> movies;
private Context context;
private int newWidth;
private int newHeight;
public CustomAdapter(ArrayList<Movie> movies, Context context) {
this.movies = movies;
this.context = context;
int screenWidth = context.getResources().getDisplayMetrics().widthPixels;
int orientation = context.getResources().getConfiguration().orientation;
newWidth = screenWidth / (orientation == Configuration.ORIENTATION_LANDSCAPE ? 3 : 2);
newHeight = (int) (((double) newWidth / 185) * 278);
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_movie, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
Picasso.with(context)
.load(movies.get(position).url)
.resize(newWidth, newHeight)
.into(holder.imageView);
}
@Override
public int getItemCount() {
return movies.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
final ImageView imageView;
public ViewHolder(View itemView) {
super(itemView);
imageView = (ImageView) itemView.findViewById(R.id.pic);
}
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢
| 归档时间: |
|
| 查看次数: |
2659 次 |
| 最近记录: |