Я могу получить данные из хранилища в виджете карты, но не могу go детализировать - я имею в виду передать снимок с первого экрана на второй (от страницы BodySectionStream до DetailPage). Я много пробовал, но не получилось. Пожалуйста, просмотрите мой код и помогите мне решить проблему. Заранее спасибо
class BodySectionStream extends StatefulWidget {
@override
_BodySectionStreamState createState() => _BodySectionStreamState();
}
class _BodySectionStreamState extends State<BodySectionStream> {
final firestore = Firestore.instance;
navigateToDetail( AsyncSnapshot post) {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => DetailPage(
news: post,
)));
}
@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: Container(
child: Column(
children: <Widget>[
Align(
alignment: Alignment.centerLeft,
child: Container(child:
Text('Prefernces', textAlign: TextAlign.left, style: TextStyle(
fontWeight: FontWeight.w500, fontSize: 22.0, color: Colors.black),)),
),
const SizedBox(height:10.0),
StreamBuilder <QuerySnapshot>(
stream: firestore.collection('news').snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Center (child: CircularProgressIndicator());
}
else {
final posts = snapshot.data.documents;
List<Container> postWidgets = [];
for (var post in posts ){
final postText = post.data['title'];
final postList = Container(
child: GestureDetector(
onTap: () => navigateToDetail( post.data[index]),
child: Card(
child: Column(children: <Widget>[
Image.network(post.data['images'],),
Text(postText),
],)
),
)
);
postWidgets.add(postList);
}
return Expanded(
child: ListView(
children: postWidgets,
));
}
}),
],
),
),
);
}
}
DetailPage - куда я хочу передать данные
class DetailPage extends StatefulWidget {
final AsyncSnapshot news;
DetailPage({this.news});
@override
_DetailPageState createState() => _DetailPageState();
}
class _DetailPageState extends State<DetailPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
child: Column(
children: <Widget>[
Text(widget.news.data['title'])
],
),
),
);
}
}