Advertisement
Guest User

Untitled

a guest
Jan 3rd, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Dart 1.84 KB | None | 0 0
  1. import 'dart:async';
  2.  
  3. import 'package:flutter/material.dart';
  4.  
  5. void main() {
  6.   runApp(MaterialApp(
  7.     title: 'Navigation Basics',
  8.     home: FirstScreen(),
  9.   ));
  10. }
  11.  
  12. class FirstScreen extends StatefulWidget {
  13.  
  14.   @override
  15.   State createState() => _FirstScreenState();
  16. }
  17.  
  18.  
  19. class _FirstScreenState extends State<FirstScreen> {
  20.  
  21.   Timer timer;
  22.   int timerVal = 0;
  23.  
  24.   getData() {
  25.     print('getData: ' + DateTime.now().toString());
  26.     this.setState(() {
  27.       timerVal++;
  28.     });
  29.   }
  30.  
  31.   @override
  32.   void initState() {
  33.     print('initState FirstScreen');
  34.     super.initState();
  35.     this.getData();
  36.     timer = Timer.periodic(Duration(seconds: 2), (Timer t) => this.getData());
  37.   }
  38.  
  39.   @override
  40.   void dispose() {
  41.     print('dispose FirstScreen');
  42.     timer?.cancel();
  43.     super.dispose();
  44.   }
  45.  
  46.   @override
  47.   Widget build(BuildContext context) {
  48.     return Scaffold(
  49.       body: Center(
  50.         child: Column(
  51.           mainAxisSize: MainAxisSize.min,
  52.           children: <Widget>[
  53.             Text('$timerVal', style: TextStyle(fontSize: 40.0),),
  54.             RaisedButton(
  55.               child: Text('Go to Second screen'),
  56.               onPressed: () {
  57.                 Navigator.push(
  58.                   context,
  59.                   MaterialPageRoute(builder: (context) => SecondScreen()),
  60.                 );
  61.               },
  62.             ),
  63.           ],
  64.         ),
  65.       ),
  66.     );
  67.   }
  68. }
  69.  
  70.  
  71.  
  72. class SecondScreen extends StatelessWidget {
  73.   @override
  74.   Widget build(BuildContext context) {
  75.     return Scaffold(
  76.       body: Center(
  77.         child: RaisedButton(
  78.           onPressed: () {
  79.             Navigator.push(
  80.               context,
  81.               MaterialPageRoute(builder: (context) => FirstScreen()),
  82.             );
  83.           },
  84.           child: Text('Go to First screen!'),
  85.         ),
  86.       ),
  87.     );
  88.   }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement