Android Programlama -18

Merhaba arkadaşlar bu günki makalemde fragment’ler konusuna değineceğim.

Bir önceki makalemde yemek tarifleri uygulamasının kodlarını paylaştım. Kodları incelemediyseniz öncelikle onu indirip incelemizi tavsiye ederim. Buradan projeye ulaşabilirsiniz.

Şu ana kadar hep activity class’ ları üzerinde projelerimizi yaptık. Bu gün bir çok projede kullanımı tercih edilen fragment’ leri görüp örnekler yapmaya başlayacağız. Fragment’ lerin bir çok projede kullanılmasının sebebi birden fazla sayfayı tek ekranda gösterilmesini sağlamasıdır. Örnek üzerinden gidecek olursak, instagram’ ın en altın da yer alan butonları aracılığı ile anasayfadan, keşfet sayfasına veya profilimizin bulunduğu sayfaya geçiş yapabiliriz. Burada her butona tıklama ile geçiş yaptıgımız sayfalar activity değil fragment’ tir. Total de bir activity vardır ve onun içine istediğimiz kadar fragment koyabiliriz. örneğin İnstagram 4 tane fragment kullanmayı yeterli bulmuştur.

package com.example.teka.icim_rahat.fragment;

import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;

/**
 * Created by teka on 5.8.2017.
 */

public class DuzeltmeFragment extends Fragment {

   View view;

    public DuzeltmeFragment() throws IOException {
    }@Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
        view=inflater.inflate(R.layout.duzeltme, container, false);

return view;
}
}

Kodumuzu inceleyecek olursak;

Kullanacağımız kütüphaneleri import ediyoruz. Sonra class’ ın tanımlıyoruz. Burada dikkat ettiyseniz Activity’ den değilde Fragment class’ından extend ediyoruz. Activity de oncreate methodunun yerine burada onCreateView methodunu kullanıyoruz.

Activity den bir farkı ise kendine has bir context ‘ i olmadığı için çağrıldığı activity sayfasının context’ ini parametre olarak alır ve kendinde bulunan kodlara göre o context’ i günceller ve sonucu return view diğerek çağrıldığı activity class’ ına gönderir ve activity class’ıda gelen view’ ı ekranda gösterir. Sayfa da bulunan buton a tıklandığın da o butonun tıklanma özelliğine kodlanmış fragment çagrılır ve aynı işlem onun için de tekrarlanır.

Toparlayacak olursam, bir fragment’in uygulama ekranın da görülebilmesi için bir activity class’ ı tarafından çağrılması gerekmektedir.

Bir makalenin daha sonuna geldik, esenle kalın..

 

Kübra Hebeş

Bilgisayar Mühendisi

Leave a Reply

Your email address will not be published. Required fields are marked *