Данные не загружаются при запуске приложения с использованием firebaserecycleradapter во фрагменте - PullRequest
0 голосов
/ 22 мая 2019

Итак, я работаю над приложением, которое отображает пользователю список проектов, над которыми он работает.Я использую firebase firestore и firestorerecycleradapter для отображения списка в обзоре переработчика.Вторичное представление не заполняется, пока я не поместил приложение в фоновый режим и не открою его снова.После того, как я изменил фрагмент в макете вкладки, окно повторного просмотра снова исчезло.Моя система работает так, что она сопоставляет идентификатор доступа пользователя с идентификатором проектов и отображает их.

Большинство людей, столкнувшихся с такой же проблемой, пытались удалить строку hasfixedsize (true) из кода.Но у меня это не сработало.

Вот метод OnCreateView

 @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_projects, container, false);
        user = mAuth.getCurrentUser();
        recyclerView = view.findViewById(R.id.projectsrv);
        recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));

        FirebaseApp.initializeApp(getContext());



        if (isDesignerCodeChanged() && user != null) {
            Query query = db.collection("projects")
                    .whereEqualTo("AccessID", AccessID);
            FirestoreRecyclerOptions<Projectsdata> options = new FirestoreRecyclerOptions.Builder<Projectsdata>()
                    .setQuery(query, Projectsdata.class)
                    .build();
            firestoreRecyclerAdapter = new FirestoreRecyclerAdapter(options);
            firestoreRecyclerAdapter.notifyDataSetChanged();
            recyclerView.setAdapter(firestoreRecyclerAdapter);
            return view;
        }




        // recyclerView.setAdapter(firestoreRecyclerAdapter);
        //     firestoreRecyclerAdapter.setOnItemClickListener(this);
        return view;
    }

Метод OnStart

@Override
    public void onStart() {
        super.onStart();

        if (isDesignerCodeChanged() && user != null) {

            Query query = db.collection("projects")
                    .whereEqualTo("AccessID", AccessID);
            FirestoreRecyclerOptions<Projectsdata> options = new FirestoreRecyclerOptions.Builder<Projectsdata>()
                    .setQuery(query, Projectsdata.class)
                    .build();
            firestoreRecyclerAdapter = new FirestoreRecyclerAdapter(options);
            recyclerView.setAdapter(firestoreRecyclerAdapter);



        }
 firestoreRecyclerAdapter.startListening();
    }

Метод OnStop

  @Override
    public void onStop() {
        super.onStop();
        Query query = db.collection("projects")
                .whereEqualTo("AccessID", AccessID);


        FirestoreRecyclerOptions<Projectsdata> options = new FirestoreRecyclerOptions.Builder<Projectsdata>()
                .setQuery(query, Projectsdata.class)
                .build();
        firestoreRecyclerAdapter = new FirestoreRecyclerAdapter(options);
        recyclerView.setAdapter(firestoreRecyclerAdapter);
        firestoreRecyclerAdapter.stopListening();
    }

Метод OnCreate

@Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mAuth = FirebaseAuth.getInstance();
        user = mAuth.getCurrentUser();
        db = FirebaseFirestore.getInstance();


    }

Я проверил logcat и нашел эту строку: 2019-05-22 22: 40: 44.007 7073-7073 / com.example.hellovorld E / RecyclerView: адаптер не подключен;пропускающий макет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...