Özet - Todo uygulaması
- Flutter kursu
- Başlangıç
- Ders 75/99
- 4 dk
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
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
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
setState(() {
list.____(index);
});
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 |