是否可以清除Firebase Recycler适配器,使其再次加载新数据

问题描述 投票:0回答:1

每次调用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();
                    }
                });
            }
android firebase android-recyclerview recycler-adapter
1个回答
0
投票

尝试下面的代码:

@Override
    protected void onResume() {
        super.onResume();
       adapter = null;
    if(adapter == null){
        adapter.startListening();
    }
  }
© www.soinside.com 2019 - 2024. All rights reserved.