CodeBlanks Logo Icon CodeBlanks

Özet - Todo uygulaması

Tüm parçaları birleştirip çalışan todo uygulamasını tamamlarsın.

Tüm parçaları birleştir

Çalışan todo uygulaması üç temel parçayı birleştirir: Todo modeli (görev verisi), ListView.builder (görevleri gösterme) ve setState (eklemek, tamamlamak, silmek için yeniden çizme). Eklemek için Navigator.push, silmek için Dismissible kullanılır.

ListView.builder(
  itemCount: list.length,
  itemBuilder: (context, index) {
    final todo = list[index];
    return ListTile(title: Text(todo.title));
  },
)

Uygulama İlk görevi göster

goster adında bir fonksiyon yaz; List<Todo> parametresi alsın ve listenin ilk elemanının title değerini print ile yazdırsın. main içinde 'Ilk gorev' başlıklı bir Todo içeren liste oluştur ve goster'i çağır.

Başlangıç kodu

main.dart
import 'package:flutter/material.dart';

class Todo {
  String title;
  bool done;
  Todo({required this.title, this.done = false});
}

// goster fonksiyonu yaz: List<Todo> alsin
// ilk elemanin title'ini print ile yazdirsin

void main() {
  // 'Ilk gorev' baslikli bir Todo iceren liste olustur
  // goster'i cagir
}

Örnek çözüm

main.dart
import 'package:flutter/material.dart';

class Todo {
  String title;
  bool done;
  Todo({required this.title, this.done = false});
}

void goster(List<Todo> list) {
  print(list[0].title);
}

void main() {
  final list = [Todo(title: 'Ilk gorev')];
  goster(list);
}

Beklenen çıktı

Ilk gorev

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Çalışan todo uygulaması hangi parçaları birleştirir?

  • Material + InkWell + ripple
  • Column + Row + SizedBox
  • Text + Padding + Center
  • Todo + ListView + setState Doğru cevap

Açıklama: Çalışan todo uygulaması Todo modeli, ListView ile gösterme ve setState ile yeniden çizmeyi birleştirir; Text, Padding, InkWell veya Column bu amaca yönelik değildir.

2 removeAt metodunu ekle

Soru
setState(() {
  list.____(index);
});
Cevap
setState(() {
  list.removeAt(index);
});

Açıklama: Listeden belirli indeksteki elemanı çıkarmak için removeAt metodu kullanılır; delete, removeItem veya erase geçerli List metotları değildir.

3 Todo özeti

Kavram Anlamı
Todo Görev verisi
ListView.builder Görevleri gösterir
Dismissible Kaydırarak siler
setState Değişiklikte yeniden çizer

Başlangıç bölümündeki tüm dersler