Einen Zähler hoch- und herunterzählen
Teil des Abschnitts Apps interaktiv gestalten der Flutter-Journey von Coddy. Lektion 13 von 34.
Eine Funktion kann auch innerhalb der State-Klasse stehen. Dort kann sie die Variablen des State lesen und setState aufrufen:
void _increase() {
setState(() {
_count++;
});
}_count++ ist die Kurzform für _count = _count + 1, und _count-- zieht eins ab. Eine Funktion, die zu einer Klasse gehört, wird Methode genannt, und eine private Methode beginnt wie die Variablen mit _.
Übergib sie einem Button über ihren Namen, ohne Klammern, wie bei „Your Own Functions“: IconButton(icon: Icon(Icons.add), onPressed: _increase).
Aufgabe
EinfachDer Zähler wird nur größer. Füge eine Methode _decrease hinzu, die den Wert innerhalb von setState um eins verringert, sowie einen IconButton mit Icons.remove vor der Zahl, der diese Methode aufruft.
Probier es selbst
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: HomePage(),
);
}
}
class HomePage extends StatefulWidget {
const HomePage({super.key});
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
int _count = 0;
void _increase() {
setState(() {
_count++;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Counter')),
body: Center(
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Text('$_count', style: TextStyle(fontSize: 48)),
IconButton(icon: Icon(Icons.add), onPressed: _increase),
],
),
),
);
}
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Apps interaktiv gestalten
1Schaltflächen
Deine erste SchaltflächeIn der Konsole ausgebenText- und umrandete SchaltflächenSymbol-SchaltflächenDer Floating Action Button7Schalter und Schieberegler
Ein und aus mit einem SchalterEin Kästchen ankreuzenEinen Wert mit einem Schieberegler auswählen3Widgets mit Zustand
Eine eigene Widget-KlasseEine SnackBar anzeigensetState zeichnet den Bildschirm neuEin StatefulWidget schreibenEinen Zähler hoch- und herunterzählenHot Reload behält den ZustandÜbe selbstständig: Online-Flutter-Compiler