how to pass data from one fragment to previous fragment?

后端 未结 4 583
灰色年华
灰色年华 2020-12-03 01:57

I am going FragmentA->FragmentB. Now From FragmentB I want to pass data to FragmentA.So How can I do that??

Currently am going FragmentB->FragmentA with getCus

4条回答
  •  既然无缘
    2020-12-03 02:17

    Work for me.

    In FragmentB create interface callback like this

    private FragmentCallBacks fragmentCallBacks;
    
    public interface FragmentCallBacks{
        void onCallBack(String data);
    }
    
    public void setFragmentCallBacks(FragmentCallBacks fragmentCallBacks) {
        this.fragmentCallBacks = fragmentCallBacks;
    }
    
    //onDestroy add this code
    @Override
    public void onDestroy() {
        super.onDestroy();
        fragmentCallBacks.onCallBack("This data from FragmentB");
    }
    

    And add this code in FragmentA

    FragmentB fragment = new FragmentB();
    replaceFragment(fragment, "TAG");
    fragment.setFragmentCallBacks(data -> {
        //do something here with your data
    });
    
    public void replaceFragment(Fragment fragment, String tag) {
        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.replace(R.id.frameLayout, fragment);
        fragmentTransaction.addToBackStack(tag);
        fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
        fragmentTransaction.commit();
    }
    

    I hope this help you.

提交回复
热议问题