@d_fly

Как правильно сверстать интерфейс с динамическим добавлением фрагментов?

Добрый день!
Возникла сложность в реализации верстки с применением фрагментов.
Есть шаблон по которому необходимо сверстать страницу.
6876a47ad29849deab3409eedfac28a6.jpg

Как я подхожу к решению данной задачи:
1) Создаю MainActivity
2) В разметку MainActivity добавляю textView (для header-а), linearLayout (для фрагментов) и textView (для footer-а).
3) В MainActivity прохожу циклом по данным (id изображения) и создаю фрагменты

for (int photoId : photoNumbers) {
            fragmentManager = getFragmentManager();
            PhotoFragment fragment = PhotoFragment.newInstance();

            Bundle bundle = new Bundle();
            bundle.putLong("id", photoId);
            sectorBoulderFragment.setArguments(bundle);

            fragmentManager.beginTransaction()
                    .add(R.id.container, fragment, "fragmentId" + photoId)
                    .commit();
}


4) Перехожу в фрагмент, беру входящий photoId, по нему в базе данных ищу фото и применяю вставляю ее в imageView (разметка в xml).
Bitmap bitmap = BitmapFactory.decodeByteArray(photos.get(0).getPhotoData(), 0, photos.get(0).getPhotoData().length);
fragmentPhoto.setImageBitmap(bitmap);


В результате при отрисовке у меня отображается только последняя фотография (причем на первом месте). Все остальные - просто разметка под нее, изображения нет.
Дебагер заходит, проставляет все значения, корректно вытаскивает фото из БД.

Пробовал динамически в LinearLayout (в разметке шаблона фрагмента) добавлять изображения - то же самое.
ImageView imageView = new ImageView(getActivity().getApplicationContext());
imageView.setImageBitmap(bitmap);
test_linear_layout.addView(imageView);


Подскажите решение пожалуйста.
Может быть вообще надо все по другому делать.
Спасибо.
  • Вопрос задан
  • 239 просмотров
Пригласить эксперта
Ответы на вопрос 1
gadfi
@gadfi
https://gamega.org
возможно я не правильно понял что нужно, но по моему вам подойдет ListView или RecyclerView
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы