Fragment Nama anggota : Andian Ramadhan 15.11.0168 Hanif Hadyan S. 15.11.0181 Aprilianto Aji nugroho 15.11.0180 Kukuh sugiarto 15.11.0174 Denny Octavian Anfada 15.11.0170
1.Fragment Fragment merupakan bagian dari UI dalam activity. Kamu dapat menggabungkan beberapa fragment dalam activity untuk membuat multi-pane UI.Ada beberapa hal yang kamu perlu tahu tentang fragment yaitu, fragment memiliki siklus hidup(lifecycle) sendiri, dapat proses event sendiri, dan dapat ditambah atau dihapus ketika activity sedang jalan.
Ketika salah satu item dari listview disentuh oleh user maka akan mencul informasi atau item dari detail view.
2.Membuat Fragment Penjelasan : onAttach(Activity) : digunakan untuk memanggil 1 kali ketika menempel di Activity. onCreate(Bundle) : digunakan untuk mempersiapkan fragment. onCreateView(LayoutInflater, ViewGroup, Bundle) : menciptakan dan menampilkan kembali secara hirarki View. onActivityCreated(Bundle) : method ini dipanggil setelah method onCreate(). onViewStateRestored(Bundle) : digunakan untuk menyatakan informasi kepada fragment bahwa semua akan disimpan ke dalam state (layar) dari tampilan fragment secara hirarki yang telah dipulihkan. .onStart() : digunakan untuk membuat fragment terlihat. onResume() : digunakan untuk membuat fragment interaktif. onPause() : digunakan jika fragment tidak lagi interaktif. onStop() :digunakan jika fragment tidak lagi terlihat. onDestroyView() : digunakan untuk membersihkan resources (sumber daya. onDestroy() : digunakan untuk membersihkan akhir resources (sumber daya )dari layar fragment. onDetach() : digunakan ketika fragment ,tidak lagi ada di Activity.
3.Menambahkan Fragment pada Activity Biasanya, fragmen berkontribusi pada sebagian UI ke aktivitas host, yang disematkan sebagai bagian dari hierarki tampilan keseluruhan aktivitas. Ada dua cara untuk menambahkan fragmen ke layout aktivitas: Deklarasikan fragmen dalam file layout aktivitas secara programatis tambahkan fragmen ke ViewGroup yang ada
Deklarasikan fragmen dalam file layout aktivitas Dalam hal ini, Anda bisa menetapkan properti layout fragmen seakan-akan sebuah tampilan. Misalnya, berikut ini adalah file layout untuk aktivitas dengan dua fragmen: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <fragment android:name="com.example.news.ArticleListFragment" android:id="@+id/list" android:layout_weight="1" android:layout_width="0dp" android:layout_height="match_parent" /> <fragment android:name="com.example.news.ArticleReaderFragment" android:id="@+id/viewer" android:layout_weight="2" android:layout_height="ma
secara programatis tambahkan fragmen ke ViewGroup yang ada Kapan saja saat aktivitas berjalan, Anda bisa menambahkan fragmen ke layout aktivitas. Anda cukup menetapkan ViewGroup di tempat memasukkan fragmen. Untuk membuat transaksi fragmen dalam aktivitas (seperti menambah, membuang, atau mengganti fragmen), Anda harus menggunakan API dari FragmentTransaction. Anda bisa mengambil instance FragmentTransaction dari Activity seperti ini: FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); Selanjutnya Anda bisa menambahkan fragmen menggunakan metode add(), dengan menetapkan fragmen yang akan ditambahkan dan tampilan tempat menyisipkannya. Misalnya: ExampleFragment fragment = new ExampleFragment(); fragmentTransaction.add(R.id.fragment_container, fragment); fragmentTransaction.commit(); Argumen pertama yang diteruskan ke add() adalah ViewGroup tempat fragmen harus dimasukkan, yang ditetapkan oleh ID sumber daya, dan parameter kedua merupakan fragmen yang akan ditambahkan.
Contoh Program menambahkan 4 fragment pada activity
kode pada fragmet _pertama.xml Lalu buat 3 layout lagi
Kode MainActivitY.java
Hasilnya
4. MEMBUAT UI FLEXIBLE DENGAN FRAGMENT Buatlah Layout pada Activity_main.xml
Main activity
Fragmentfrist.xml Buat juga Fragmentsecond.xml dan Fragmentthird.xml
FirstFragment.Java
SecondFragment.java
Hasilnya
5.Komunikasi Antar Fragment Berkomunikasi dengan Aktivitas Meskipun Fragment diimplementasikan sebagai objek yang tidak bergantung pada Activity dan bisa digunakan dalam banyak aktivitas, instance tertentu dari fragmen secara langsung terkait dengan aktivitas yang dimuatnya. Khususnya, fragmen bisa mengakses instance Activity dengan getActivity() dan dengan mudah melakukan tugas-tugas seperti mencari tampilan dalam layout aktivitas: View listView = getActivity().findViewById(R.id.list); Demikian pula, aktivitas Anda bisa memanggil metode di fragmen dengan mendapatkan referensi ke Fragment dari FragmentManager, menggunakan findFragmentById() atau findFragmentByTag(). Misalnya: ExampleFragment fragment = (ExampleFragment) getFragmentManager().findFragmentById(R.id.example_fragment);
Buatlah dua java class baru, lalu berinama FragmentA dan FragmentB
Buat juga 2 Layout baru dan berinama fragment_a dan fragment_b
Buatlah Interface dengan nama Communicator Pada Layout activity_main masukan layout fragment
Pada MainActivity.java
Hasilnya