Wednesday, 7 December 2016

Belajar Menggunakan Fragment Android dan Cara Penggunaannya

Fragment adalah representasi kebiasaan (behavior) atau bagian dari user-interface dalam activity. Ada yang bilang Fragment itu merupakan bagian dari Activity. sebetulnya sih semuanya benar, karena setiap orang berbeda cara dan atau sudut pandangnya menilai antara activity dan Fragment.


Agar lebih jelas dan mudah mengerti, mari kita langsung praktek seperti apa Fragment tersebut? Untuk Activity kalian bisa praktekan seperti tutorial berikut ini : Link Fragment, Persiapan : Untuk Layout :
  1. activity_main.xml
  2. fragment_1.xml
  3. fragment_2.xml
Untuk Java class :
  1. MainActivity.java
  2. FirstFragment.java
  3. SecondFragment.java
Mari kita mulai penulisan programnya, dimulai dari : activity_main.xml
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="110dp"
        android:layout_weight="1"
        android:orientation="horizontal">
        <Button
            android:layout_weight="1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/btn_frament1"
            android:text="Fragment 1"/>

        <Button
            android:layout_weight="1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/btn_fragment2"
            android:text="Fragment 2"/>

    </LinearLayout>

    <FrameLayout
        android:layout_marginTop="10dp"
        android:layout_weight="1"
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</LinearLayout>

fragment_1.xml
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:gravity="center"
        android:text="HELLO! THIS IS FRAGMENT 1"/>

</LinearLayout>

fragment_2.xml
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:gravity="center"
        android:text="HELLO! THIS IS FRAGMENT 2"/>

</LinearLayout>

Kemudian terakhir, untuk class MainActivity.java
 
package com.example.putuguna.projecttesting;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import com.example.putuguna.projecttesting.fragments.FirstFragment;
import com.example.putuguna.projecttesting.fragments.SecondFragment;

public class MainActivity extends AppCompatActivity {

    private Fragment fragment;
    private Button btn_fragment_1;
    private Button btn_fragmnet_2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.examplefragment_activity);

        btn_fragment_1 = (Button) findViewById(R.id.btn_frament1);
        btn_fragmnet_2 = (Button) findViewById(R.id.btn_fragment2);

        btn_fragment_1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                fragment = new FirstFragment();
                FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
                ft.replace(R.id.container,fragment);
                ft.commit();
            }
        });

        btn_fragmnet_2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                fragment = new SecondFragment();
                FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
                ft.replace(R.id.container,fragment);
                ft.commit();
            }
        });


    }
}


Perhatikan kode berikut :

 FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
                ft.replace(R.id.container,fragment);
                ft.commit();

Kode diatas digunakan untuk memanggil Fragment yang telah kita buat, R.id.container adalah ID dari FrameLayout yang kita buat, yang nantinya setiap fragment yang dipanggila akan di embed ke FrameLayout tersebut. Oke sekian sekilas tetang fragment, semoga mebantu kalian yang sedang belajar Android.

1 komentar so far

mas , boleh request tutorial intent dari fragment ke activity ? terimakasih mas

Please post a polite comment and do not post a spam
EmoticonEmoticon