My Blog

My WordPress Blog

My Blog

My WordPress Blog

Creating a Simple To-Do List App

This example demonstrates state management and using a ListView to display a list of items.

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
return MaterialApp(
  title: 'To-Do List',
  theme: ThemeData(primarySwatch: Colors.blue),
  home: ToDoList(),
);
} } class ToDoList extends StatefulWidget { @override _ToDoListState createState() => _ToDoListState(); } class _ToDoListState extends State<ToDoList> { final List<String> _tasks = []; final TextEditingController _controller = TextEditingController(); void _addTask() {
if (_controller.text.isNotEmpty) {
  setState(() {
    _tasks.add(_controller.text);
    _controller.clear();
  });
}
} void _removeTask(int index) {
setState(() {
  _tasks.removeAt(index);
});
} @override Widget build(BuildContext context) {
return Scaffold(
  appBar: AppBar(
    title: Text('To-Do List'),
  ),
  body: Column(
    children: &#91;
      Expanded(
        child: ListView.builder(
          itemCount: _tasks.length,
          itemBuilder: (context, index) {
            return ListTile(
              title: Text(_tasks&#91;index]),
              trailing: IconButton(
                icon: Icon(Icons.delete),
                onPressed: () => _removeTask(index),
              ),
            );
          },
        ),
      ),
      Padding(
        padding: const EdgeInsets.all(8.0),
        child: Row(
          children: &#91;
            Expanded(
              child: TextField(
                controller: _controller,
                decoration: InputDecoration(labelText: 'New Task'),
              ),
            ),
            IconButton(
              icon: Icon(Icons.add),
              onPressed: _addTask,
            ),
          ],
        ),
      ),
    ],
  ),
);
} }
Creating a Simple To-Do List App

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top