前提・実現したいこと
BLocを使って共通の時間を示すカウントダウンタイマーを別々のページで使いたいと思っています。
コードを単純にすると下記のようなコードのテキスト部分にカウントダウンタイマーを表示させたいです。
dart
1import 'package:flutter/material.dart'; 2 3void main() { 4 runApp(MyApp()); 5} 6 7class MyApp extends StatelessWidget { 8 // This widget is the root of your application. 9 10 Widget build(BuildContext context) { 11 return MaterialApp( 12 13 home: HomePage(), 14 ); 15 16 } 17 18 19 20} 21 22class HomePage extends StatelessWidget { 23 24 Widget build(BuildContext context) { 25 return Scaffold( 26 appBar: AppBar( 27 title: Text('サンプルページ'), 28 ), 29 body: Center( 30 child: Column( 31 children: [ 32 RaisedButton( 33 child: Text('ダイアログ表示'), 34 onPressed: (){ 35 _showDialog(context); 36 } 37 ), 38 Text('このテキスト部分にカウントダウンタイマーを表示させたい') 39 ], 40 ), 41 ), 42 ); 43 } 44 45 46 47 _showDialog(context){ 48 showDialog( 49 context: context, 50 builder: (context){ 51 return AlertDialog( 52 title: Text('sample dialog'), 53 actions: [ 54 RaisedButton( 55 child: Text('次のページへ'), 56 onPressed: (){ 57 Navigator.push( 58 context, 59 MaterialPageRoute(builder: (context) => NextPage()), 60 ); 61 }) 62 ], 63 ); 64 }); 65 } 66} 67 68 69class NextPage extends StatelessWidget { 70 71 Widget build(BuildContext context) { 72 return Scaffold( 73 appBar: AppBar(), 74 body: Center( 75 child: Text('このテキスト部分にカウントダウンタイマーを表示させたい'), 76 ), 77 ); 78 } 79} 80 81
試したこと
リンク内容
この方の記事を読んだりしながら調べていろいろやってみたんですが、Streambuilderを使うのかなと思うのですが、非同期で値を変更しながらどちらで見ても同じ値を取得する方法がわかりません。
ざっくりとした質問で申し訳ないのですが、大まかでもいいので教えてもらいたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/23 03:36