Как отобразить данные firestore в тексте, а не в списке?
Всем привет! Помогите пожалуйста, я с этой проблемой пытаюсь бороться уже неделю и ответа ни где найти не могу.
Суть: у меня есть string данные в моем firestore, которые необходимо отразить в тексте, но не списком. Я пробовал много способов и мой последний код заточен под отображение данных списком, а это мне не подходит. Мое приложение что-то вроде справочника состоящего из статей. По задумке в firestore хранятся названия статей и их содержимое, так вот у меня сделана верстка моего приложения, она сводит к тому, что в итоге пользователь переходит на статью(отдельный экран) вот там мне и нужно разместить данные из firestore. Пример: добавляю из коллекции "статья: как произвести замену масла в автомобиле", который содержит в себе документы: "title1", "title2", "title3" и др.. - это названия статей, так же содержит в себе: "content1", "content2" ... - содержимое статей. Следовательно структура должна быть следующей:
Text(docs['title1']), Text(docs['content1']),
Но, как бы я не пытался и у кого только не спрашивал ничего не помогает, моих знаний недостаточно, весь stackoverflow прочитал по подобным темам и везде гайды, либо помощь, как отобразить данные firestore списком(это я умею, но мне не подходит). Я уже не знаю, как донести описание своей проблемы, поэтому постарался ее объяснить наиболее полно. Помогите пожалуйста, вы моя единственная надежда. И убедительная просьба на примере моего кода сделать исправления, так как, я порой не понимаю куда вставлять отрывки кода.
Мой код для тестов:
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:get/get.dart';
class UserInformation extends StatefulWidget {
@override
_UserInformationState createState() => _UserInformationState();
}
class _UserInformationState extends State<UserInformation> {
final Stream<QuerySnapshot> _test = FirebaseFirestore.instance.collection(
'users').where('nickname',isNull:false).snapshots();
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: StreamBuilder<QuerySnapshot>(
stream: _test,
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return Container(child: CircularProgressIndicator());
}
return Container(
child: ListView(
children: snapshot.data!.docs.map((DocumentSnapshot document) {
Map<String, dynamic> data = document.data()! as Map<
String,
dynamic>;
return Center(
child: Text(data['nickname']),
);
}).toList(),
),
);
},
),
),
);
}
}
Где, Text(data['title1']), там должно быть название статьи, а под ним Text(data['content1']), содержимое статьи. Но сейчас этот код при наличии моей верстки дублирует экран во столько раз, сколько есть документов в коллекции firestore, то есть о чем я и говорил, код отражает данные списком.