Ahmed Raaed
Ahmed Raaed

Reputation: 11

StatefulWidget (setState not work did't show )

import 'package:flutter/material.dart';
class CounterScreen extends StatefulWidget
{
  const CounterScreen({Key? key}) : super(key: key);
  

  @override
  State<CounterScreen> createState() {
    
    return _CounterScreenState();
  }
}


class _CounterScreenState extends State<CounterScreen> {
int number=1;

   @override
  Widget build(BuildContext context) {
  
  return Scaffold(
    appBar: AppBar(
      title: Text(
        "Counter"
      ),
    ),
    body: Center(

      child: Row(
        mainAxisAlignment: MainAxisAlignment.center,

        children: [

          TextButton(onPressed: (){ number--;} , child: Text("Minus",)),
          Padding(
            padding: const EdgeInsets.symmetric(horizontal: 10),
            child: Text("$number",style: TextStyle(color: Colors.black,fontSize: 30,),),
          ),
          TextButton(onPressed: (){ number++;print(number);}, child: Text("Plus",)),

        ],
      ),
    ),
  );
  }

}

Upvotes: 0

Views: 50

Answers (1)

Shailendra Rajput
Shailendra Rajput

Reputation: 2982

you have to use setstate where you want to update the UI. so this line should be

TextButton(onPressed: (){ number--;} , child: Text("Minus",)),

Like this

TextButton(
        onPressed: () {
          setState(() {
            number--;
          });
        },
        child: const Text(
          "Minus",
        ));

Upvotes: 3

Related Questions