Ekleme ekranı
- Flutter kursu
- Başlangıç
- Ders 72/99
- 4 dk
Yeni görev eklemek için TextFormField'lı ekranı yazarsın.
Navigator.push ve pop
Yeni görev eklemek için ayrı bir ekran açılır. Navigator.push ile yeni bir sayfa açılır, Navigator.pop ile geri dönülür. pop'a bir değer verirsen, bu değer çağıran sayfaya döner ve yeni görev olarak listeye eklenir.
Navigator.push(
context,
MaterialPageRoute(builder: (_) => EklemeEkrani()),
);Ekleme ekranı
Ekleme ekranında bir TextFormField ve bir ElevatedButton bulunur. Butona basıldığında controller'daki metni alır ve Navigator.pop(context, text) ile geri dönersin. Bu text, ana sayfada listeye eklenir.
Uygulama Ekleme fonksiyonu yaz
ekle adında bir fonksiyon yaz; parametre olarak text (String) alsın ve 'Eklendi: ' ile text'i birleştirip print ile yazdırsın. main içinde ekle'yi 'Yeni gorev' ile çağır.
Başlangıç kodu
import 'package:flutter/material.dart';
// ekle fonksiyonu yaz: parametre olarak text (String) alsin
// 'Eklendi: ' + text seklinde print ile yazdirsin
void main() {
// ekle'yi 'Yeni gorev' ile cagir
}Örnek çözüm
import 'package:flutter/material.dart';
void ekle(String text) {
print('Eklendi: ' + text);
}
void main() {
ekle('Yeni gorev');
}Beklenen çıktı
Eklendi: Yeni gorev
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Navigator.pop'a değer verilirse ne olur?
- Klavye kapanır
- Uygulama çöker
- Yeni sayfa açılır
- Çağıran sayfaya geri döner Doğru cevap
Açıklama: Navigator.pop'a ikinci bir değer verirsen, bu değer çağıran sayfaya sonuç olarak döner; uygulama çökmez, yeni sayfa açılmaz, klavye kapanmaz.
2 Navigator.pop çağrısı
Navigator.
____(context, 'Yeni gorev');
Navigator.
pop(context, 'Yeni gorev');
Açıklama: Sayfayı kapatıp değer döndürmek için Navigator.pop kullanılır; push yeni sayfa açar, back ve return geçerli Navigator metotları değildir.
3 Ekleme ekranı parçaları
| Kavram | Anlamı |
|---|---|
Navigator.push |
Yeni sayfa açar |
Navigator.pop |
Sayfayı kapatır |
TextFormField |
Görev metnini alır |
ElevatedButton |
Eklemeyi tetikler |