Finally, the solution found, the fragment cannot be replaced or replaced inActivityResult ()
We need to put this code in Handler or in OnResume()
Decision:
private boolean change_fragment=false;
OnActivityResult () code
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) { change_fragment=true; }
OnResume () code
@Override public void onResume() { super.onResume(); if(change_fragment) { change_fragment=false; Fragment fragment = new VirtualListFragment(); FragmentManager fragmentManager = getFragmentManager(); fragmentManager.beginTransaction().replace(R.id.frame_container, fragment).commit(); } }
source share