Loading

Cara Memanggil Fungsi dari Fragment saat dihalaman Activity dan sebaliknya

March 27, 2018     bagicode    

How to fix error android

Hallo coders, sekedar catatan kali ini bagicode akan share bagaimana cara memanggil suatu fungsi (void) pada halaman fragment saat Anda berada di halaman Activity dan begitupun sebaliknya. Jadi jangan panik ketika kalian menemukan error pada kejadian seperti ini ya coders.

Namun ada beberapa syarat yang harus terpenuhi seperti :

  1. Fungsi Anda (Void) harus menggunakan attribut PUBLIC agar bisa diakses dari halaman mana saja.

Nah itu dia syarat dari pemanggilan, berikut ini adalah cara yang biasa saya lakukan :

A. From Fragment to Activity

((YourActivityClassName)getActivity()).yourPublicMethod()

B. From Activity to Fragment

FragmentManager fm = getSupportFragmentManager();

YourFragmentClass fragment = (YourFragmentClass) fm.findFragmentById(R.id.your_fragment_id);
fragment.yourPublicMethod();

Note :

  1. hal yang harus Anda ingat adalah saat melakukan fungsi pada A dan B, yourPublicMethod() haruslah memiliki attribut PUBLIC.
  2. Saat kalian menggunakan fungsi tersebut pada suatu adafter jangan lupa untuk menambahkan activity dari halaman sebelumnya ia dipanggil sehingga fungsinya pada A akan berubah menjadi …activitys.getActivity()… selain itu jika Anda memanggil fragment pada suatu adapter kalian harus menginisialisasikan getSupportFragmentManager dengan cara berbeda. contohnya seperti ini :
    FragmentActivity activity = (FragmentActivity)(activitys);
    PhoneNoDialogFragment phoneNoDialogFragment = new PhoneNoDialogFragment();
    FragmentManager mFragmentManagers = activity.getSupportFragmentManager();
    FillFormOneFragment fragment = (FillFormOneFragment) mFragmentManagers.findFragmentById(R.id.frame_container);
    fragment.dataAttachmentPhone();
    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout 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:id="@+id/frame_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.bagicode.hrdtalent.view.activity.FillFormActivity"/FrameLayout>

nah demikianlah tips ini , jangan lupa untuk point 2 activitys dan activity adalah sesuatu yang berbeda dan jika masih ada yang bingung monggo ditanya ya. Semoga bermanfaat 😀

sumber : https://stackoverflow.com/questions/12659747/call-an-activity-method-from-a-fragment

Categories: Tutorial Android

Leave a Reply