CodeBlanks Logo Icon CodeBlanks

Navigator.pop

Navigator.pop ile ekrana geri dönmeyi öğrenirsin.

Navigator.pop nedir?

Navigator.pop, yığındaki en üstteki route'u çıkarır ve bir önceki ekrana döner. İlk parametre context'tir. Yeni ekran açmada push kullanılırsa, geri dönmek için pop kullanılır.

Navigator.pop(context);

pop ve yığın davranışı

Navigator.pop çağrıldığında en üstteki ekran çıkarılır ve altındaki ekran görünür hale gelir. Eğer yığında yalnızca bir ekran varsa, pop uygulamanın kapanmasına neden olabilir. Bu yüzden en az iki ekran varken pop kullanmak güvenlidir. İkinci bir parametre verilirse, bu değer çağırana result olarak döner.

Uygulama Navigator.pop ile geri dön

kapat adında bir fonksiyon yaz; çağrılınca Ekran kapandi yazdırsın. main içinde kapat'ı çağır. Bir ElevatedButton ekle ve onPressed'da Navigator.pop(context) çağrısı yapsın.

Başlangıç kodu

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

// kapat fonksiyonu yaz: "Ekran kapandi" yazdirsin

void main() {
  // kapat'i cagir
  runApp(const Uygulama());
}

class Uygulama extends StatelessWidget {
  const Uygulama({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Center(
          // ElevatedButton ekle
          child: SizedBox(),
        ),
      ),
    );
  }
}

Örnek çözüm

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

void kapat() {
  print('Ekran kapandi');
}

void main() {
  kapat();
  runApp(const Uygulama());
}

class Uygulama extends StatelessWidget {
  const Uygulama({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Center(
          child: ElevatedButton(
            onPressed: () {
              Navigator.pop(context);
            },
            child: Text('Kapat'),
          ),
        ),
      ),
    );
  }
}

Beklenen çıktı

Ekran kapandi

Soru ve cevaplar

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

1 Navigator.pop çağrıldığında hangi ekran kapatılır?

  • Yığındaki en üstteki ekran Doğru cevap
  • Yığındaki en alttaki ekran
  • İlk ekran
  • Tüm ekranlar

Açıklama: Navigator.pop yığındaki en üstteki ekranı çıkarır; en alttaki, ilk veya tüm ekranları kapatmaz.

2 context parametresini ekle

Soru
Navigator.pop(____, 'Sonuc');
Cevap
Navigator.pop(context, 'Sonuc');

Açıklama: Navigator.pop'un ilk parametresi context'tir; route, screen veya widget geçerli parametre değildir.

3 pop parametreleri

Kavram Anlamı
Navigator.pop Üstteki ekranı kapatır
context pop'un ilk parametresi
result Çağırana dönen değer
stack Ekranların dizisi

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