Make last steps to use same fragment for map fragment

This commit is contained in:
neslihanturan 2018-03-01 22:54:02 +03:00
parent 1cc1efe182
commit 6284307826

View file

@ -85,9 +85,9 @@ public class NearbyActivity extends NavigationBaseActivity implements LocationUp
private void resumeFragment() { private void resumeFragment() {
// find the retained fragment on activity restarts // find the retained fragment on activity restarts
android.support.v4.app.FragmentManager fm = getSupportFragmentManager(); //android.support.v4.app.FragmentManager fm = getSupportFragmentManager();
nearbyMapFragment = (NearbyMapFragment) fm.findFragmentByTag(TAG_RETAINED_MAP_FRAGMENT); // nearbyMapFragment = (NearbyMapFragment) fm.findFragmentByTag(TAG_RETAINED_MAP_FRAGMENT);
nearbyMapFragment = getMapFragment();
// create the fragment and data the first time // create the fragment and data the first time
if (nearbyMapFragment == null) { if (nearbyMapFragment == null) {
// add the fragment // add the fragment
@ -294,11 +294,9 @@ public class NearbyActivity extends NavigationBaseActivity implements LocationUp
// this means that this activity will not be recreated now, user is leaving it // this means that this activity will not be recreated now, user is leaving it
// or the activity is otherwise finishing // or the activity is otherwise finishing
if(isFinishing()) { if(isFinishing()) {
android.support.v4.app.FragmentManager fm = getSupportFragmentManager();
// we will not need this fragment anymore, this may also be a good place to signal // we will not need this fragment anymore, this may also be a good place to signal
// to the retained fragment object to perform its own cleanup. // to the retained fragment object to perform its own cleanup.
//fm.beginTransaction().remove(nearbyMapFragment).commit(); removeFragment();
setMapFragment();
} }
} }
@ -408,6 +406,13 @@ public class NearbyActivity extends NavigationBaseActivity implements LocationUp
return (NearbyMapFragment) getSupportFragmentManager().findFragmentByTag(NearbyMapFragment.class.getName()); return (NearbyMapFragment) getSupportFragmentManager().findFragmentByTag(NearbyMapFragment.class.getName());
} }
private void removeFragment() {
if (nearbyMapFragment != null) {
android.support.v4.app.FragmentManager fm = getSupportFragmentManager();
fm.beginTransaction().remove(nearbyMapFragment).commit();
}
}
private void updateMapFragment(boolean isSlightUpdate) { private void updateMapFragment(boolean isSlightUpdate) {
/* /*
* Significant update means updating nearby place markers. Slightly update means only * Significant update means updating nearby place markers. Slightly update means only
@ -466,7 +471,7 @@ public class NearbyActivity extends NavigationBaseActivity implements LocationUp
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
nearbyMapFragment = new NearbyMapFragment(); nearbyMapFragment = new NearbyMapFragment();
nearbyMapFragment.setArguments(bundle); nearbyMapFragment.setArguments(bundle);
fragmentTransaction.replace(R.id.container, nearbyMapFragment, nearbyMapFragment.getClass().getSimpleName()); fragmentTransaction.replace(R.id.container, nearbyMapFragment, TAG_RETAINED_MAP_FRAGMENT);
fragmentTransaction.commitAllowingStateLoss(); fragmentTransaction.commitAllowingStateLoss();
} }