Sunday, February 8, 2015

Belajar Fragment di Android

Rasanya dah lama ndak nulis di blog ini, karna akhir-akhir ini ane belajar mempelajari pemrograman android, dan sedikit pusing dengan implementasi dalam menerapkan JSONPaser dalam listFragment di drawermenu, Haa... datanya ndak nimbrung-nimbrung, coy, jadi puyeng....:).
Mungkin lebih baik ane tulis aje disini apa yang ane pelajari tentang Fragment, untung-untung bermanfaat kalau ada yang baca :).

Oke, mari kita kenal sejenak apa itu Fragment, coy?

Fragment adalah komponen user interface dari activity. Satu activity dapat mengandung dan mengelola beberapa fragment. Fragment bermanfaat untuk membuat user interface yang modular, dapat beradaptasi untuk layar lebar seperti tablet dan mudah di-reuse (beberapa activity dapat menggunakan fragment yang sama).  

Fragment terkait erat dengan activiy, jika activity dalam kondisi pause, maka semua fragment yang dimiliki oleh activity juga akan berada dalam kondisi pause, demikian juga dengan saat di-destroy.  Tapi jika activity sedang berjalan fragment dapat diatur (bisa di-add, bisa di-remove).

Fragment diperkenalkan mulai dari Android 3.0 (Honeycomb), tapi dengan adanya support library, maka Android versi 1.6 ke atas dapat memanfaatkan fragment.

Penambahan Fragment melalui XML 

Lanjut saja, sekarang kita mencoba membuat app satu activity dengan dua fragment.

Pertama, tentunya saudara telah membuka eclipse ato android studio sodara. disini saya menggunakan eclipse;

Selanjutnya buat 2 buah class dengan nama FragmentA dan FragmentB, 

-> isi class FragmentA:

package com.belajarfragment.yonandroid;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class FragmentA extends Fragment{
@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        return inflater.inflate(R.layout.fragment_a, container, false);
         
    }

}


-> isi class FragmentB:

package com.belajarfragment.yonandroid;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class FragmentB extends Fragment{
@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        return inflater.inflate(R.layout.fragment_b, container, false);
         
    }

}

Kemudian buat dua layout dengan nama; fragment_a.xml dan fragment_b.xml  seperti di bawah:

layout fragment_a.xml ;



layout fragment_b.xml ;




Ok, Coy..Kita sudah mempunyai dua fragment. Sekarang kita akan menambahkan fragment di activity utama. Ada dua cara, pertama melalui layout XML dan kedua secara dinamik.  Kita akan coba cara yang pertama, yaitu melalui XML. 

Buka activity_main.xml lalu tambahkan code berikut, sesuaikan classpath (com.belajarfragment.yonandroid) dengan classpath yang anda gunakan. Pastikan classpath dan nama fragment sesuai, karena kalau tidak pasti terjadi error saat runtime, coy.. 



    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.belajarfragment.yonandroid.MainActivity" >

   
       android:name="com.belajarfragment.yonandroid.FragmentA"
       android:id="@+id/fragment_a"
       android:layout_weight="1"
       android:layout_width="0dp"
       android:layout_height="match_parent"/>

   
       android:name="com.belajarfragment.yonandroid.FragmentB"
       android:id="@+id/fragment_b"
       android:layout_weight="2"
       android:layout_width="0dp"
       android:layout_height="match_parent"/>



Selanjutnya Pada class MainActivity Ganti Activity dengan FragmentActivity, seperti contoh:

public class MainActivity extends FragmentActivity 

Oke, selanjutnya silahkan di Run-ing, coy,  hasilnya seperti dibawah pada emulator ne:



kalau ada masalah silahkan di comeng-comeng, coy...

@dari berbagai sumber di mbah gogon eh google..


Catatan selanjunya kita akan membuat, bagaimana Penambahan Fragment secara Dinamis