Список фрагментов Android, только первые элементы отображаются в портретном режиме

#android #android-fragments

#Android #android-фрагменты

Вопрос:

У меня проблема при создании списка фрагментов

Это мое состояние (я много пробовал)

 public class RecipesFragment extends Fragment {
//...

@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    setView();
//...

private void setView() {
    _dbHandle = new Database(this.getContext());
    _recipesLogic = new RecipesLogic(_dbHandle);

    List<RecepieDBModel> data = _recipesLogic.GetAllRecepies();
    FragmentManager fragmentManager = getChildFragmentManager();
    for(int i = 0; i < data.size(); i  ) {
        try {
            RecepieDBModel tmpData = data.get(i);
            ImagePanelFragment imagePanelFragment = new ImagePanelFragment("", tmpData.Title   i, tmpData.Components);
            final FragmentTransaction transaction = fragmentManager.beginTransaction();
            transaction.add(R.id.recipes_table_layout, new SpacerFragment(), "fragment:"   UUID.randomUUID());
            transaction.add(R.id.recipes_table_layout, imagePanelFragment, "fragment:"   UUID.randomUUID());
            transaction.commit();
        }catch (Exception e) {
            e.printStackTrace();
        }
    }

    fragmentManager.executePendingTransactions();
}
 

Проблема здесь в том, что в портретном режиме я получаю только разделительный фрагмент (просто фрагмент фиксированной высоты) — первый фрагмент — и когда я переворачиваю его в альбомную ориентацию, он показывает все (правильное количество фрагментов)
введите описание изображения здесь
Я пытался аннулировать элементы, refreshDrawableState и т. Д., И теперь я потерялся

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

Комментарии:

1. Хорошо, я нашел новую вещь, каждый раз, когда я переворачиваю экран, добавляются новые фрагменты. В общем, у меня есть 2 строки из базы данных, поэтому каждый раз, когда я переворачиваю, я получаю 2 новых пустых строки (по горизонтали), а 2 из базы ДАННЫХ находятся внизу

Ответ №1:

хорошо, я получил свой ответ, просто используйте RecyclerView.Адаптер