我有一个活动显示帖子列表(有或没有图像).当我向下滚动并向上滚动或刷新列表时,SwipeRefreshLayout某些图像可能会消失.我RecyclerView用来显示帖子列表和Picasso加载图像.这是我的适配器绑定:
@Override
public void onBindViewHolder(ItemViewHolder holder, int position) {
// <...>
if (item.getPhoto() != null) {
Picasso.with(context)
.load(item.getPhoto())
.into(holder.mPostPhoto);
} else {
holder.mPostPhoto.setImageDrawable(null);
holder.mPostPhoto.setVisibility(View.GONE);
}
}
Run Code Online (Sandbox Code Playgroud)
我发送HTTP请求以获取帖子,当我有新数据时,我调用PostsAdapter:
public void addAll(List<PostResponse> items) {
this.items.clear();
this.items.addAll(items);
notifyDataSetChanged();
}
Run Code Online (Sandbox Code Playgroud)
在MainActivity中:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// <...>
mPostAdapter = new PostAdapter();
mPosts.setLayoutManager(new LinearLayoutManager(MainActivity.this));
mPosts.setAdapter(mPostAdapter);
mPostsSwipeRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
updatePosts();
}
}); …Run Code Online (Sandbox Code Playgroud) android imageview android-imageview picasso android-recyclerview