2022年6月3日星期五

2 state 2 button (change value and rebuild widget)

 import 'package:flutter/material.dart';


void main() {

  runApp(const MyApp());

}


class MyApp extends StatelessWidget {

  const MyApp({Key? key}) : super(key: key);


  @override

  Widget build(BuildContext context) {

    return MaterialApp(

      title: 'Flutter Demo',

      theme: ThemeData(


        primarySwatch: Colors.blue,

      ),

      home:  const MyHomePage(),


    );

  }

}



class MyHomePage extends StatefulWidget {

  const MyHomePage({Key? key}) : super(key: key);



  @override

  State<MyHomePage> createState() => _MyHomePageState();

}


class _MyHomePageState extends State<MyHomePage> {

  int _counterA = 0;

  int _counterB = 0;


  void _incrementCounterA() {

    setState(() {


      _counterA++;

    });

  }


  void _incrementCounterB() {

    setState(() {


      _counterB++;

    });

  }


  @override

  Widget build(BuildContext context) {


    return Scaffold(

      appBar: AppBar(


        title: const Text("App title"),

      ),

      body: Center(

        child: Column(


          mainAxisAlignment: MainAxisAlignment.center,

          children: <Widget>[

            Text(

              'A:'+'$_counterA',

              style: Theme.of(context).textTheme.headline4,

            ),

            TextButton(

              onPressed: _incrementCounterA,

              child: const Text('A'),

            ),

            Text(

              'B:'+'$_counterB',

              style: Theme.of(context).textTheme.headline4,

            ),

            TextButton(

              onPressed: _incrementCounterB,

              child: const Text('B'),

            ),


          ],

        ),

      ),


    );

  }

}

沒有留言:

發佈留言