Мой пользовательский адаптер расширяет 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. Чего мне не хватает?