# 05. Projenize NavHostFragment Eklemek

Bir önceki dersimizde **nav\_graph.xml** isimli **Navigation Graph** dosyamızı oluşturduk ama bu dosyanın **dizayn sekmesi**ne geçtiğinizde sol kısımdaki **HOST** bölümünde "**No NavHostFragment found**" uyarısı ile karşılaşmıştık.

Uyarının sebebi ise kullanıcıların uygulamanızda gezinirken hedeflerin içeri-dışarı kaydırıldığı boş bir kapsayıcı olması ve varsayılan olarak bir **NavHostFragment** içermesi gerektiğinden kaynaklanıyor.

**NavHostFragment**'i eklemek için ise yine hem dizayn hem de metin bölümünü kullanabilirsiniz.

**Dizayn** bölümünü kullanacaksanız aşağıda olduğu gibi **MainActivity**'ye ait **activity\_main.xml** dosyasınında dizayn bölümüne geçerek **Containers** altındaki **NavHostFragment** nesnesini ekrana sürükleyerek gerçekleştirebilirsiniz.

![NavHostFragment'ın Dizayn bölümünden oluşturulması.](/files/-M-AS4h7Ed4Qmp7ZhWMl)

Daha yolun başında olduğumuzdan ve yaptıklarımızı daha iyi anlamak için ben **XML** üzerinden işlemimi gerçekleştireceğim.

```markup
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <fragment
        android:id="@+id/nav_host_fragment"
        android:name="androidx.navigation.fragment.NavHostFragment"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:defaultNavHost="true"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:navGraph="@navigation/nav_graph" />

</androidx.constraintlayout.widget.ConstraintLayout>
```

Kod bloğundaki fragment kısmı **NavHostFragment'**&#x69;mi oluşturmuş oluyor. Şimdi burada dikkat etmemiz gereken hususların neler olduğunu irdeleyelim.

### Dikkat Edilecek Hususlar

**android:name** attribute’u NavHost implementasyonunun (uygulamasının) sınıf adını (class name) oluşturur. Standart bir yazım şeklidir ve her NavHostFragment'te mutlaka olmalıdır.

```markup
android:name="androidx.navigation.fragment.NavHostFragment"
```

**app:navGraph** attribute’u **NavHostFragment**’ı bir **navigation graph** ile ilişkilendirir. **Navigation graph**, **NavHostFragment** içerisinde kullanıcıların gideceği tüm hedefleri belirtir.&#x20;

```markup
app:navGraph="@navigation/nav_graph"
```

**app:defaultNavHost="true"** attribute’u **NavHostFragment**’ınızın sistem **Geri** düğmesini engellemesini sağlar. Eğer aynı layout’ta birden fazla host’unuz varsa (Örneğin; two-pane layouts), yalnızca bir NavHost belirttiğinize emin olun.

```markup
app:defaultNavHost="true"
```

Dersimizin başında **nav\_graph.xml** isimli **Navigation Graph** dosyamızda **dizayn sekmesi**ne geçtiğinizde sol kısımdaki **HOST** bölümünde "**No NavHostFragment found**" uyarısı ile karşılaşıyorduk. **NavHostFragment**'imizi de eklediğimize göre artık yeni görüntümüz aşağıdaki gibi oluştu ve HOST kısmında bunu gözlemleyebiliyoruz.

![](/files/-M-AXa80oG2sCA-jYR2S)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://egemen-mede.gitbook.io/jetpack-navigation/05.-projenize-navhostfragment-eklemek.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
