Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 1 / 0
Регистрация: 12.09.2017
Сообщений: 134

Как извлечь Firestore в RecycleView?

18.03.2019, 13:00. Показов 1536. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
БД имеет коллекцию с названием "users", документы с id пользователя и в каждом документе есть поля со значениями. В AS:
есть несколько вкладок TabLayout+ViewPager, каждая вкладка состоит из фрагментов. В RV есть поля title, invest, stage.

Фрагмент со старой реализацией с помощью программного добавления
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public class BissinessFragment extends Fragment {
 
    List<BissinessList> bissinessLists = new ArrayList<>();                                                                             //Лист для RV
    RecyclerView recyclerView = null;
    
    @SuppressLint("ClickableViewAccessibility")
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_bissiness, container, false);
 
        recyclerView = view.findViewById(R.id.list);
//------------------------------------------------------------------------------------------------------
        init();
        BissinessAdapter adapterList = new BissinessAdapter(getActivity(), bissinessLists);                                                
        recyclerView.setAdapter(adapterList);
 
        return view;
}
    public void init(){
        bissinessLists.add(new BissinessList("title", "invest", "stage"));
        bissinessLists.add(new BissinessList("title", "invest", "stage"));
        bissinessLists.add(new BissinessList("title", "invest", "stage"));
        bissinessLists.add(new BissinessList("title", "invest", "stage"));
        bissinessLists.add(new BissinessList("title", "invest", "stage"));
        bissinessLists.add(new BissinessList("title", "invest", "stage"));
        bissinessLists.add(new BissinessList("title", "invest", "stage"));
        bissinessLists.add(new BissinessList("title", "invest", "stage"));
        bissinessLists.add(new BissinessList("title", "invest", "stage"));
        bissinessLists.add(new BissinessList("title", "invest", "stage"));
        bissinessLists.add(new BissinessList("title", "invest", "stage"));
        bissinessLists.add(new BissinessList("title", "invest", "stage"));
        bissinessLists.add(new BissinessList("title", "invest", "stage"));
    }
}
BissinessList
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class BissinessList {
 
        private String title;
        private String invest;
        private String stage;
        private int image;
 
        public BissinessList(String title, String invest, String stage){
            this.title = title;
            this.invest = invest;
            this.stage = stage;
            this.image = R.drawable.startup;
        }
 
        public String getTitle() { return title;}
        public void setTitle(String title) { this.title = title; }
        public int getImage() { return image; }
        public void setImage(int image) { this.image = image; }
        public String getInvest() { return invest; }
        public void setInvest(String invest) { this.invest = invest; }
        public String getStage() { return stage; }
        public void setStage(String stage) { this.stage = stage; }
    }
Адаптер. template_bissiness - это макет одного элемента в RV.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public class BissinessAdapter extends RecyclerView.Adapter<BissinessAdapter.ViewHolder>{
 
    private LayoutInflater inflater;
    private List<BissinessList> announcmentRecyclerList;
 
 
    public BissinessAdapter(Context context, List<BissinessList> ad) {
        this.announcmentRecyclerList = ad;
        this.inflater = LayoutInflater.from(context);
    }
    @Override
    public BissinessAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
 
        View view = inflater.inflate(R.layout.template_bissiness, parent, false);
        return new ViewHolder(view);
    }
 
    @Override
    public void onBindViewHolder(BissinessAdapter.ViewHolder holder, int position) {
        BissinessList ad = announcmentRecyclerList.get(position);
        holder.imageView.setImageResource(ad.getImage());
        holder.title.setText(ad.getTitle());
        holder.invest.setText(ad.getInvest() + "$");
        holder.stage.setText(ad.getStage());
    }
    @Override
    public int getItemCount() {
        return announcmentRecyclerList.size();
    }
    public class ViewHolder extends RecyclerView.ViewHolder {
        final ImageView imageView;
        final TextView title;
        final TextView invest;
        final TextView stage;
        ViewHolder(View view){
            super(view);
            imageView = (ImageView)view.findViewById(R.id.image);
            title = (TextView) view.findViewById(R.id.title);
            invest = view.findViewById(R.id.invest);
            stage = view.findViewById(R.id.stage);
        }
    }
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.03.2019, 13:00
Ответы с готовыми решениями:

Правила безопасности Cloud Firestore
Здравствуйте, нужна помощь, я пишу приложение, при нажатии на кнопку в приложении оно получает первое значение из массива в БД и после оно...

Работа с Firebase cloud firestore
Здраствуйте, помогите разобраться, хочу сделать в android studio, чтобы при нажатии на кнопку считывалась 1 строчка из базы cloud...

Подгрузка из Firebase Firestore в recycle view
Загружаю данные из Firebase Firestore в recycle view и пытаюсь сделать постепенную подгрузку данных при достижении конца списка. Вроде...

1
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
18.03.2019, 13:54
Лучший ответ Сообщение было отмечено макс1122 как решение

Решение

https://firebase.google.com/do... a/get-data
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.03.2019, 13:54
Помогаю со студенческими работами здесь

Загрузка в адаптер из другой коллекции Firestore
В адаптере в методе bind устанавливаю данные из List (во фрагменте загружаю их туда из Firestore). Но еще нужны данные, которые находятся в...

RecycleView
Добрый времени суток! Есть такое задание: написать ленту гифок, да так, чтобы гифки, которые видно лишь наполовину и меньше...

Обновление RecycleView
Всем привет. Подскажите пожалуйста каким образом можно обновить RecycleView, оставаясь на одном и том же фрагменте? Есть viewPager с...

Использование разделителя в RecycleView
Ув. программисты, подскажите, пожалуйста, как решить следующую проблему: Имеется 8 итемов в райсикалфью (размер List равен 7...

Bottom sheet и recycleview
Такой вопрос. Есть Bottom Sheet в котором есть header со с фильтрами и внутри заголовка ещё один recycleview. Далее идут элементы....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru