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
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.