每次调用onResume()方法时,适配器在回收器视图中都包含重复的数据。我想在每次调用onResume()方法时清除列表,然后再次获取新数据,这可能吗?
我的代码结构看起来像这样
@Override
protected void onStart() {
super.onStart();
...
recyclerView.setAdapter(adapter);
adapter.startListening();
}
@Override
protected void onStop() {
super.onStop();
adapter.stopListening();
}
@Override
protected void onResume() {
super.onResume();
adapter.startListening();
}
更新
@Override
protected void onBindViewHolder(PostThumbViewHolder postThumbViewHolder, int i, final PostThumb postThumb) {
Picasso.with(getApplicationContext()).load(postThumb.getPost_image_thumbnail()).into(postThumbViewHolder.postsThumbImageView);
final String pid = getRef(getItemCount() - 1 - i).getKey();
final String uid = getRef(getItemCount() - 1 - i).getParent().getKey();
postThumbViewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent profileIntent = new Intent(ProfileActivity.this, PostDetailActivity.class);
profileIntent.putExtra("up_id", uid + "_" + pid);
startActivity(profileIntent);
finish();
Toast.makeText(ProfileActivity.this, uid + "_" + pid, Toast.LENGTH_SHORT).show();
}
});
}
尝试下面的代码:
@Override
protected void onResume() {
super.onResume();
adapter = null;
if(adapter == null){
adapter.startListening();
}
}