I have 2 fragments and 1 activity.
I am calling to remove the 2nd fragment from the 1st fragment via the activity like this:
Fragment 1:
FragmentManager manager = getActivity().getSupportFragmentManager();
if(manager.findFragmentByTag("AdFragment") != null){
manager.beginTransaction().remove(manager.findFragmentByTag("AdFragment")).commit();
Log.d("BACK", "Removed AdFragment");
}
Now when I do back press my onBackPressed method in the activity still finds the just removed 2nd fragment:
Activity:
@Override
public void onBackPressed() {
FragmentManager manager = getSupportFragmentManager();
AdFragment adFrag = (AdFragment) manager.findFragmentByTag("AdFragment");
if(adFrag != null){
Log.d("BACK", "Found AdFragment from backstack");
}
}
The AdFragment is found even when I remove the fragment in Fragment 1. What am I misunderstanding? Thanks!
Here is the moment is start the 2nd fragment from the activity:
public void openAdFragment(View v){
final AdFragment adFragment = new AdFragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.add(R.id.adFragmentContainer, adFragment, "AdFragment").addToBackStack("AdFragment").commit();
}
Here is the code for starting the first fragment:
android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, buildingFragment, "BUILDINGPAGE");