Почему этот RecyclerView / Observable код внутри фрагмента создает пустой RecyclerView? - PullRequest
0 голосов
/ 15 июня 2019

Мой пользовательский адаптер расширяет ListAdapter для отображения списка элементов в RecyclerView. Все работает нормально с MainActivity, но когда я пытаюсь отобразить внутри фрагмента, RecyclerView пусто.

Вот выдержка из MainActivity, которая отлично работает для этого действия и отображает весь список элементов в RecyclerView.

        RecyclerView recyclerView = findViewById(R.id.recyclerView);
        recyclerView.setLayoutManager(new LinearLayoutManager(this));
        recyclerView.setHasFixedSize(true);

        final GamebookCustomAdapter adapter = new GamebookCustomAdapter();
        recyclerView.setAdapter(adapter);

        gamebookViewModel = 
        ViewModelProviders.of(this).get(GamebookViewModel.class);
        gamebookViewModel.getAllGamebooks().observe(this, new 
        Observer<List<Gamebook>>() {
        @Override
        public void onChanged(@Nullable List<Gamebook> gamebooks) {
            adapter.submitList(gamebooks);
        }
    });

Есть ли что-то еще, что я должен предоставить, чтобы этот код работал внутри фрагмента?

Ранее я расширял RecyclerView.Adapter в своем настраиваемом адаптере и объявлял ArrayList для элементов в моем списке. Это хорошо сработало с фрагментом. Но когда я расширил ListAdapter и покончил с ArrayList, RecyclerView отображается пустым во фрагменте, хотя он все еще отлично работает в MainActivity. Чего мне не хватает?

...