Recycler View不会再次加载

时间:2020-04-07 17:36:27

标签: firebase android-recyclerview google-cloud-firestore fragment firebaseui

我在片段中使用Firebase UI和Recycler View。

创建片段时,回收者视图会从Firestore加载所有信息,但是一旦锁定和解锁手机,它就会消失。

一旦我增加了片段布局,我就会这样做:

@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState)
{
    this.view = view; //View of the fragment
    setupRecyclerView(); // Get the recycler 
    loadData(); //Loads data into the recycler
}

这是我从膨胀的布局中获得回收站视图的方法:

public void setupRecyclerView(){
    //Recycler
    recyclerView = view.findViewById(R.id.recyclerView);
}

这是方法“ loadData”:

public void loadData(){

    //Query
    Query query = fStore.collection("users");

    //RecyclerOptions
    FirestoreRecyclerOptions<User> options = new FirestoreRecyclerOptions.Builder<User>()
                .setQuery(query, User.class)
                .build();

    //RecyclerAdapter
    adapter = new FirestoreRecyclerAdapter<User, UserViewHolder>(options)
    {
        @NonNull
        @Override
        public UserViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType)
        {
            System.out.println("view holder");
            View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_single_file, parent, false);
            return new UserViewHolder(view);
        }

        @Override
        protected void onBindViewHolder(@NonNull UserViewHolder holder, int position, @NonNull User model)
        {
            holder.listName.setText(model.getName());

        }
    };

    recyclerView.setHasFixedSize(true);
    recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
    recyclerView.setAdapter(adapter);
}

生命周期:

@Override
public void onStart()
{
    super.onStart();
    System.out.println("Started");
    adapter.startListening();
}

@Override
public void onStop()
{
    super.onStop();
    System.out.println("Stopped");
    adapter.stopListening();
}

@Override
public void onResume()
{
    super.onResume();
    adapter.startListening();
}

我也尝试在onResume循环上加载Data,即使重新启动应用程序也无法正常工作。 我很确定,如果我去参加其他活动并回到这一点,也会一样。

问题:为什么RecyclerView不会再次加载这些项目?我想念什么?

0 个答案:

没有答案